3

我在邮件程序模型中创建了一个实例变量 (@user) 并希望在视图中访问它?但它给了我一个错误(@user = nil)。将变量传递给查看(电子邮件正文)的最佳方法是什么?

谢谢, 奇拉格

4

3 回答 3

7

如果你想在你的邮件模板中访问一个实例变量,那么在你的邮件模型中添加

@body[:user] = user_object

以上将创建一个实例变量@user,可以在您的视图中访问。您应该能够通过执行访问邮件视图中的用户对象

@user

如果您使用多种格式(文本/html),此处的文档提供了替代方法的示例。

于 2010-01-23T08:32:33.780 回答
4

我在 Rails 3 的过程是类似的:

@user = user_object

以上将创建一个实例变量@user,可以在您的视图中访问。您应该能够通过执行访问邮件视图中的用户对象

@user

请注意,您需要在

mail(:from => "info@domain.info", :to => recipient, :subject => "Subject")
于 2012-12-05T08:31:40.697 回答
2

要将变量传递给视图/电子邮件正文,请通过 body 方法发送它们:-)因此,例如body :account => recipient将导致实例变量@account的值recipient在视图中可访问。

于 2010-01-23T08:32:44.813 回答