我将 sidekiq 与 rails 5 一起用于后台作业,我也想以这种方式发送电子邮件。在我的 gemfile 上进行以下设置:
gem 'redis-rails'
gem 'sidekiq'
gem 'sinatra', github: 'sinatra/sinatra', require: false
gem 'devise-async'
我还设置了初始值设定项:
Devise::Async.backend = :sidekiq
然后像这样调用我的邮件程序方法:
Mailer.delay.signup_email(@user, @password)
在 sidekiq 日志上,我收到错误
2016-10-26T19:02:09.473Z 17854 TID-ww0i8 WARN: ArgumentError: undefined class/module Mailer
我的 mailer.rb 文件位于 app/mailers 文件夹中。我重新启动了我的 rails 服务器、redis 服务器、sidekiq,但我仍然收到错误。任何人都知道如何解决它?谢谢!
最佳答案
Mailer 是一个非常糟糕的类名,因此可能无法自动加载。给它一个更具体的名称,UserMailer 或类似的名称,并将其移动到 user_mailer.rb。
关于ruby-on-rails - Rails Sidekiq - 邮件类无法识别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270330/