2016-10-26 6 views
1

Я использую sidekiq с рельсами 5 для фоновых заданий, и я тоже хочу доставлять электронные письма. Есть следующие настройки на моем Gemfile:Rails Sidekiq - класс почтовых сообщений непризнанный

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 находится в папке приложений/почтовых программ. Я перезапустил сервер rails, сервер redis, sidekiq, и я все еще получаю сообщение об ошибке. Кто-нибудь знает, как это исправить? благодаря!

ответ

0

Mailer - это действительно плохое имя для класса, и по этой причине автозагрузка не может быть автоматической. Дайте ему более конкретное имя, UserMailer или подобное, и переместите его на user_mailer.rb.

+0

Почему почтальон будет плохим именем? Во всяком случае, попробовал это и до сих пор получил ошибку ArgumentError: undefined class/module UserMailer:/ –

+0

Потому что уже может быть класс Mailer, определенный на верхнем уровне другим камнем. –

 Смежные вопросы

  • Нет связанных вопросов^_^