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.3を使用しています

ありがとう!!

4

1 に答える 1

0

あなたの問題は、sw が Web リクエストの結果として開始されていないため、sw が ActionView の子ではないことです。むしろ、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 に答える