4

因此,如果我尝试使用 action mailer 直接发送电子邮件,我可以使用所有应用程序帮助程序,例如 url_for、content_for 等,但是当我尝试使用延迟作业 [send_later] 执行完全相同的操作 [发送电子邮件] 时,我收到延迟作业失败,未定义的函数 content_for 等,所以就像我的 ActionMailer 中没有加载任何帮助程序。我正在使用 rails 2.3.8、active_mailer 2.3.8 和 delayed_job 2.0.3

谢谢!!

4

1 回答 1

0

您的问题是您的 sw 不是 ActionView 的子项,因为您的 sw 不是由于 Web 请求而启动的。相反,您的 sw 是由 DelayedJob 机器启动的。

解决方案:创建并使用自己的 ActionView 实例——

action_view = ActionView::Base.new # used for calling helper tags, eg link_to
html = action_view.link_to(link_text, url)
# etc...
于 2010-06-18T04:18:22.467 回答