1

我想在我的rails郵件程序的主題行中包含以下代碼,但無法讓它工作..這是什麼適當的語法?謝謝!在Rails郵件程序中包含ERB主題行

<%= @occasions.map{|o|o.pname+"'s "+o.name}.to_sentence %> 

梅勒:

def upcoming_deals_mail(user) 

    @user = user 
    @occasions = user.upcoming_occasions_with_deals 
    @deals = user.upcoming_deals 


    @subject = "An friendly Reminder" 

    mail(:to => "#{ user.email } <#{ user.email }>", :subject => @subject) 
    end 

回答

0

我不知道我的理解,你很好,但如果你想要做的是包括在郵件主題中指定的紅寶石表達可以取代@subject = "An friendly Reminder"

@subject = @occasions.map{|o|o.pname+"'s "+o.name}.to_sentence 
+0

這就是罰款,但是這給了我「未定義的方法'名稱」的零:NilClass」試圖發送 – js111 2012-07-07 22:30:09

+0

這是因爲在@occasions的對象之一是當一個零對象。它與ActionMailer無關。 – 2012-07-07 22:47:05

+0

未定義的方法是因爲@occasions = user.upcoming_occasions_with_deals返回nil。您需要確保_upcoming_occasions_with_deals_總是返回至少一次或在電子郵件模板中處理零。 – scarver2 2012-07-08 23:33:19

3

添加雙引號(「」)而不是單個('')對我來說這樣做

失敗:

mail(to: '[email protected]', subject: 'Application for: #{@applicant.full_name}') 

成功:

mail(to: '[email protected]', subject: "Application for: #{@applicant.full_name}")