2011-09-29 6 views
8

Rails 3 ActionMailerテンプレートからサブジェクトを設定するにはどうすればよいですか?Rails 3のActionMailerテンプレートからサブジェクトを設定しますか?

件名と本文をまとめておきたいのですが。 Railsでは

2あなたが次の操作を行うことができます:あなたがアクセスしたい場合は

class UserMailer < ActionMailer::Base 
default :from => "[email protected]" 

def welcome_email(user) 
    @user = user 
    @url = "http://example.com/login" 
    mail(:to => user.email, :subject => "Welcome to My Awesome Site") 
    end 
end 

<% controller.subject = 'Change of subject' %> 

http://www.quirkey.com/blog/2008/08/29/actionmailer-changing-the-subject-in-the-template/から)

答えて

14

http://edgeguides.rubyonrails.org/action_mailer_basics.html

を、それがいることを、ここで言いますそれはビューから:

http://apidock.com/rails/ActionMailer/Base

あなたから、件名にアクセスする必要があるか、ビュー内の受信者の場合は、メッセージオブジェクトを介してそれを行うことができます。

You got a new note from <%= message.from %>! 
<%= truncate(@note.body, 25) %> 

だから、あなたが行うことができます:

message.subject 
+2

いいえ、メーラーコードではなく*からテンプレート*を設定します。 – PBJ

+0

誤解をおかけして申し訳ありません。私の答えを – corroded

+0

@David更新この回答は私の意見では正しいです。それに応じてマーキングすることを検討する必要があります。 – aef

10

メールの件名をメールビューから設定するには、単にビューファイルの先頭に次のように入力します。

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

これはレール3と4で機能します。

関連する問題