如何在Ruby on Rails中使用带有邮件程序的实例变量?

Chi*_*tel 3 ruby-on-rails instance-variables actionmailer

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

谢谢,奇拉格

nas*_*nas 7

如果要访问邮件程序模板中的实例变量,请在邮件程序模型中添加

@body[:user] = user_object
Run Code Online (Sandbox Code Playgroud)

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

@user
Run Code Online (Sandbox Code Playgroud)

如果您使用多种格式(text/html),这里的文档有替代方法的示例.

  • 这给了我预期的"你试图在nil(@body)上调用[]错误.@nas - 您是否建议此行是@body [:user] = user_object在邮件程序模型中的方法之上和之外定义的? (2认同)