Установить тему из шаблона ActionMailer в Rails 3? - PullRequest
8 голосов
/ 29 сентября 2011

Как мне установить тему из шаблона 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/)

Ответы [ 2 ]

17 голосов
/ 29 сентября 2011

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
11 голосов
/ 23 октября 2014

Чтобы установить строку темы письма из самого представления электронной почты, вы можете просто поместить следующее в начало файла просмотра:

<% message.subject = 'This is my subject line' %>

Это работает для рельсов 3 и 4.

...