3

私は sucker_punch gem を使用して Rails アプリのバックグラウンドでメールを送信しています。以前は正常に動作していましたが、突然次のエラーが発生しました。

undefined method `async' for #<ActiveJob::QueueAdapters::SuckerPunchAdapter::JobWrapper:0x007f892c6c31a0>

以下は、完全なエラーのスクリーンショットです。

ここに画像の説明を入力

現在、sucker_punch バージョン 2.0.1 を使用しています。ダウングレードして、代わりに sucker_punch バージョン 1.6.0 を使用しようとしましたが、エラーが続きます。

何か助けはありますか?ありがとう!

4

2 に答える 2

6

さて、私はついにそれを理解しました。私のsucker_punch.rbファイルには、これを含める必要があります。

# config/initializers/sucker_punch.rb

require 'sucker_punch/async_syntax'

これは、ここで説明されているように、Rails < 5.0.0 で Sucker Punch バージョン 2.0.0 以降を使用している場合に必要です。

于 2016-03-10T00:20:44.210 に答える
1

彼らは実際に非同期構文を変更しました。

sucker_punch の新しいバージョンでは、次のように async を呼び出す必要があります。 Model.perform_async

ここの下位互換性の見出し の下に記載されていますhttps://github.com/brandonhilkert/sucker_punch

于 2017-05-31T23:03:44.807 に答える