我有一个关于 Rails 中邮件程序的理论问题。
我曾多次听说将资源直接传递给邮件程序不被认为是好的做法。这是更好的简单传递一个 id 来加载对象。例如,在这个问题的接受答案中正是这样说的:Rails: Absolutely stumped with delayed_job. Not receiving arguments anywhere
但如果是这样,那么禁止的原因是什么?我不能将链接问题视为详尽的解释。
谢谢你的建议。
最佳答案
原因很简单:在您被命令发送邮件和真正的邮件程序代码执行之间,您的对象被更改的可能性超过 0%。想象一下,您正在使用的对象将在进程中被删除,但由于您在执行时没有加载对象,它将尝试使用不再存在的对象实例。我想现在你明白这个问题了。
关于ruby-on-rails - Rails,将对象传递给邮件程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12785819/