我在邮件程序的模型中创建了一个实例变量(@user),并希望在视图中访问它?但它给了我一个错误(@user = nil)。将变量传递给视图(电子邮件正文)的最佳方法是什么?
谢谢,Chirag
答案 0 :(得分:7)
如果要访问邮件程序模板中的实例变量,请在邮件程序模型中添加
@body[:user] = user_object
以上将创建一个可在您的视图中访问的实例变量@user。您应该能够通过
访问邮件程序视图中的用户对象@user
如果您使用多种格式(text / html),文档here会提供替代方法的示例。
答案 1 :(得分:4)
I Rails 3过程类似:
@user = user_object
以上将创建一个可在您的视图中访问的实例变量@user。您应该能够通过
访问邮件程序视图中的用户对象@user
请注意,您需要在
之前设置此变量mail(:from => "info@domain.info", :to => recipient, :subject => "Subject")
答案 2 :(得分:2)
要将变量传递给视图/电子邮件正文,您可以通过正文方法发送它们:-) So, for example,body :account => recipient
将导致带有值的实例变量@account
在视图中可以访问recipient
。