2010-06-17 61 views
4

因此,如果我嘗試直接使用動作郵件程序發送電子郵件,我可以使用所有應用程序幫助程序,如url_for,content_for等,但是當我嘗試執行完全相同的操作時[發送電子郵件]與delayed_job [send_later]我得到一個延遲的作業失敗,未定義的函數content_for等,所以它就像沒有助手加載我的ActionMailer。我使用rails 2.3.8,active_mailer 2.3.8和delayed_job 2.0.3ActionMailer在從延遲作業調用時出現「未定義函數」失敗

謝謝!!

回答

0

你的問題是,你的SW不是ActionView的孩子,因爲你的SW沒有作爲網絡請求的結果而被啓動。相反,你的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...