2016-10-26 38 views
1

我使用sidekiq和rails 5作为后台作业,我也希望以这种方式发送电子邮件。对我的Gemfile以下设置:Rails Sidekiq - 无法识别的Mailer类

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,我仍然收到错误消息。任何人都知道如何解决它?谢谢!

回答

0

梅勒是一个非常糟糕的名字,并且可能无法自动加载。给它一个更具体的名字,UserMailer等,并将其移动到user_mailer.rb。

+0

为什么邮件将是一个坏名字?无论如何,尝试过,仍然得到错误ArgumentError:undefined class/module UserMailer:/ –

+0

因为可能已经有一个Mailer类在顶层由另一个gem定义。 –