1
所以我想寄出一份由控制器定期定义的类变量的报告。但是在邮件程序中,我必须再次定义它们?有没有办法不重复这个?我已经考虑过将它更多地转移到模型上,但最终它仍然是相同数量的定义。梅勒使用与___控制器相同的控制器代码
所以我想寄出一份由控制器定期定义的类变量的报告。但是在邮件程序中,我必须再次定义它们?有没有办法不重复这个?我已经考虑过将它更多地转移到模型上,但最终它仍然是相同数量的定义。梅勒使用与___控制器相同的控制器代码
您不必再次定义它们,您可以将它们从控制器作为参数传递给邮件程序方法。
假设你需要@ ivar1,@ ivar2和您的邮件@ ivar3所有你需要做的就是从控制器运行这个命令:
MyMailer.some_email(@ivar1, @ivar2, @ivar3).deliver
编辑:
有你的问题第二次看(和我的回答),我想我可能误解了它的第一位。
在我的解决方案中,您仍然需要重新定义实例变量。这些值传递正确,但你仍然要:
def some_email(v1, v2, v3)
@ivar1 = v1
@ivar2 = v2
@ivar3 = v3
end
没有办法用在控制器中定义的相同实例变量。
好吧,谢谢你的回答。我可能会用散列做这个,因为有很多变量。 – Julian