undefined方法`async'(suckerpunch gem)

时间:2016-03-09 20:38:06

标签: ruby-on-rails email ruby-on-rails-4 sucker-punch

我正在使用sucker_punch gem在后台运行我的rails应用程序中的电子邮件。它曾经工作正常,但后来突然出现了这个错误:

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

以下是完整错误的屏幕截图:

enter image description here

我现在正在使用sucker_punch版本2.0.1。我试图降级它并使用sucker_punch版本1.6.0代替,但错误仍然存​​在。

有任何帮助吗?谢谢!

2 个答案:

答案 0 :(得分:6)

好的,我终于明白了。在我的sucker_punch.rb文件中,我需要包含这个:

# config/initializers/sucker_punch.rb

require 'sucker_punch/async_syntax'

对于那些使用Sucker Punch版本2.0.0+且Rails&lt; 5.0.0正如解释here

答案 1 :(得分:0)

他们实际上改变了异步语法。

对于较新版本的sucker_punch,您应该像这样调用async: Model.perform_async

这里提到了向后兼容性标题 https://github.com/brandonhilkert/sucker_punch