Как мне установить тему из шаблона Rails 3 ActionMailer?
Я бы хотел сохранить предмет и тело вместе.
В Rails 2 вы можете сделать следующее:
<% controller.subject = 'Change of subject' %>
(из http://www.quirkey.com/blog/2008/08/29/actionmailer-changing-the-subject-in-the-template/)
http://edgeguides.rubyonrails.org/action_mailer_basics.html
здесь сказано, что:
class UserMailer < ActionMailer::Base default :from => "notifications@example.com" def welcome_email(user) @user = user @url = "http://example.com/login" mail(:to => user.email, :subject => "Welcome to My Awesome Site") end end
Если вы хотите получить к нему доступ из вида:
http://apidock.com/rails/ActionMailer/Base
Если вам нужен доступ к теме, от или к получателям в представлении, вы можете сделать это через объект сообщения:
You got a new note from <%= message.from %>! <%= truncate(@note.body, 25) %>
Так что вы можете сделать:
message.subject
Чтобы установить строку темы письма из самого представления электронной почты, вы можете просто поместить следующее в начало файла просмотра:
<% message.subject = 'This is my subject line' %>
Это работает для рельсов 3 и 4.