所以我想邮寄一份报告,其中包含控制器定期定义的类变量。但是在邮件中我必须再次定义它们?有没有办法不重复这个?我考虑过将它更多地移到模型中,但最终它仍然是相同数量的定义。
问问题
110 次
1 回答
0
您不必再次定义它们,您可以将它们从控制器作为参数传递给 mailer 方法。
假设您在邮件中需要@ivar1、@ivar2 和@ivar3,您所要做的就是从控制器运行它:
MyMailer.some_email(@ivar1, @ivar2, @ivar3).deliver
编辑:
再看看你的问题(和我的回答),我想我可能首先误解了它。
在我的解决方案中,您仍然必须重新定义实例变量。这些值已正确传递,但您仍然必须:
def some_email(v1, v2, v3)
@ivar1 = v1
@ivar2 = v2
@ivar3 = v3
end
无法使用控制器中定义的相同实例变量。
于 2012-09-11T18:18:38.410 回答