LoginSignup
8
5

More than 5 years have passed since last update.

ActionMailerでメールを送るとき,slimを使って改行を入れる

Posted at

1. はじめに

RailsでActionMailerを使ってメールを送信するとき,
本文のテンプレートにslimを使っていると改行を入れる方法が見つけられませんでした.

今回は力技気味ですが,改行を入れることに成功したので記録しておきます.

そもそも,ここだけでもslimを使わなければ良いので,
どうしてもslimを使ったままやりたいという人向け.

2. rubyファイルの方で何とかする

app/mailers/notice_mail.rb
def send_mail(email, subject)
  @body = "改行\r\n"
  @body += "します\r\n"
  mail to: email
  mail subject: subject
app/views/send_mail.text.slim
| #{ @body }

元々,引数にbodyを持たせておき,それを表示する分には問題がありませんが,
最後にテンプレートなどを付けたい場合はこのように力技でしか解決できませんでした.

また,mail body: bodyとしても本文に載りますが,
何故かsubjectが正しく出なかったため,viewsの方で表示しています.
もしかしたら,bodyは先頭に書けば解決したのかもしれません.

3. もっと賢い方法

mailerのテンプレートだけslim以外を使いましょう.

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5