因此,如果我尝试直接发送带有动作邮件的电子邮件,我可以使用所有应用程序帮助程序,如url_for,content_for等,但是当我尝试使用delayed_job执行完全相同的操作[发送电子邮件] [send_later]时,我得到延迟作业失败,未定义的函数content_for等,所以就像我的ActionMailer中没有加载助手一样。我使用的是rails 2.3.8,active_mailer 2.3.8和delayed_job 2.0.3
谢谢!
答案 0 :(得分: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...