Неопределенный метод `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