我在郵件模型中創建了一個實例變量(@user),並希望在視圖中訪問它?但它給了我一個錯誤(@user = nil)。傳遞變量以查看(電子郵件正文)的最佳方式是什麼?如何在Ruby on Rails中使用郵件程序的實例變量?
謝謝你,奇拉格
我在郵件模型中創建了一個實例變量(@user),並希望在視圖中訪問它?但它給了我一個錯誤(@user = nil)。傳遞變量以查看(電子郵件正文)的最佳方式是什麼?如何在Ruby on Rails中使用郵件程序的實例變量?
謝謝你,奇拉格
如果你想在你的郵件模板訪問實例變量,然後在你的郵件添加到模型
@body[:user] = user_object
以上將創建一個實例變量@user可以在訪問你的看法。你應該能夠做
@user
該文檔here如果您正在使用多種格式(文本/ HTML)有其他方法的實例來訪問你的郵件視圖用戶對象。
要傳遞給視圖/電子郵件正文中的變量,你通過身體的方法把他們在:-) So, for example,body :account => recipient
會導致一個實例變量@account
與recipient
值是在視圖中訪問。
我滑軌3的過程是類似的:
@user = user_object
上面將創建一個實例變量@user,可以在視圖中被訪問。你應該能夠做
@user
請注意,您所需要的
mail(:from => "[email protected]", :to => recipient, :subject => "Subject")
「請注意,您需要在郵件之前設置此變量(...」 - 這真的幫助了我,謝謝。 – netricate 2013-12-02 16:27:14
嗨之前設置這個變量來訪問你的郵件視圖用戶對象,我有點迷茫中的示例顯示直接分配價值@account =收件人例如....這是否工作呢?這不適合我...所以想知道你的@body [:user]方式是否是創建@user的方式。 – Angela 2011-06-19 08:38:31
這給了我期望的「你試圖調用[] nil(@body)」的錯誤。 @nas - 您是否建議此行是在郵件模型中的方法之上和之外定義的@body [:user] = user_object? – 2011-08-26 10:06:42