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以外を使いましょう.