Неопределенный метод `async' (гем suckerpunch)

Я использую драгоценный камень sucker_punch для отправки электронной почты в приложении rails в фоновом режиме. Раньше он работал нормально, но потом я неожиданно получил эту ошибку:

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

Ниже приведен скриншот полной ошибки:

Я использую sucker_punch версии 2.0.1 прямо сейчас. Я попытался понизить его и использовать sucker_punch версии 1.6.0 вместо этого, но ошибка сохраняется.

Любая помощь? Спасибо!

2 ответа

Решение

Хорошо, я наконец понял это. В моем sucker_punch.rb файл, мне нужно включить это:

# config/initializers/sucker_punch.rb

require 'sucker_punch/async_syntax'

Это необходимо для тех, кто использует Sucker Punch версии 2.0.0+ с Rails < 5.0.0, как описано здесь

Они фактически изменили асинхронный синтаксис.

В новых версиях sucker_punch вы должны вызывать async следующим образом:Model.perform_async

Он упоминается под заголовком " Обратная совместимость" здесь https://github.com/brandonhilkert/sucker_punch

Другие вопросы по тегам