3

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

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

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

在此处输入图像描述

我现在正在使用 Sucker_punch 2.0.1 版。我试图降级它并改用 1.6.0 版的吸盘,但错误仍然存​​在。

有什么帮助吗?谢谢!

4

2 回答 2

6

好吧,我终于想通了。在我的sucker_punch.rb文件中,我需要包含以下内容:

# config/initializers/sucker_punch.rb

require 'sucker_punch/async_syntax'

这是使用 Sucker Punch 版本 2.0.0+ 且 Rails < 5.0.0 的用户所必需的,如此处所述

于 2016-03-10T00:20:44.210 回答
1

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

使用较新版本的 sinker_punch,您应该像这样调用 async: Model.perform_async

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

于 2017-05-31T23:03:44.807 回答