Ruby on rails Rails Sidekiq-无法识别邮件程序类

Ruby on rails Rails Sidekiq-无法识别邮件程序类,ruby-on-rails,redis,sidekiq,Ruby On Rails,Redis,Sidekiq,我用sidekiq和rails 5做背景工作,我也想用这种方式发送电子邮件。在我的文件上有以下设置: gem 'redis-rails' gem 'sidekiq' gem 'sinatra', github: 'sinatra/sinatra', require: false gem 'devise-async' 我还设置了初始值设定项: Devise::Async.backend = :sidekiq 然后调用我的mailer方法,如: Mailer.delay.signup_email

我用sidekiq和rails 5做背景工作,我也想用这种方式发送电子邮件。在我的文件上有以下设置:

gem 'redis-rails'
gem 'sidekiq'
gem 'sinatra', github: 'sinatra/sinatra', require: false
gem 'devise-async'
我还设置了初始值设定项:

Devise::Async.backend = :sidekiq
然后调用我的mailer方法,如:

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。

mailer对于类来说是一个非常糟糕的名称,因此可能无法自动加载。给它一个更具体的名字,UserMailer或者类似的名字,然后把它移到user_mailer.rb。

为什么mailer会是个坏名字?无论如何,尝试了该操作,仍然得到错误ArgumentError:undefined class/module UserMailer:,因为可能已经有一个Mailer类在顶级由另一个gem定义。为什么Mailer是个坏名字?无论如何,尝试了该操作后仍然会得到错误ArgumentError:undefined class/module UserMailer:,因为可能已经有另一个gem在顶级定义了一个Mailer类。