6

Я пытаюсь настроить Active Job с Rails 4 и Devise. Я открыт для любого учебника, если он есть (не удалось найти в моем поиске.)Активная работа с Rails 4 и Devise

Я знаю, что есть Devise Async gem, но он не охватывает активное задание в нем. Тем не менее, я нашел this gem, который является новым в разработке, но я получаю ошибку uninitialized constant Devise::Async::Backend::Base (NameError). (Мог ли я быть воздушным в его реализации).

Любые предложения приветствуются. Я надеюсь, что мне не нужно создавать новые методы управления.

ответ

13

Вы можете включить следующий код в нужной модели (обычно User):

def send_devise_notification(notification, *args) 
    devise_mailer.send(notification, self, *args).deliver_later 
end 

Вы можете посмотреть на следующей странице можно более подробно: http://www.sitepoint.com/devise-authentication-in-depth/

+1

Это, как представляется, официально рекомендуется техника теперь в README от Devise: https://github.com/plataformatec/devise#activejob-integration – stevo

+0

Спасибо за обновление @stevo! – mrstif

+1

Хммм ... Я принимаю это полузащитник. Согласно https://github.com/plataformatec/devise/issues/3550#issuecomment-94248927 (и метод комментирует https://github.com/plataformatec/devise/blob/2f0002a449a8b9616d51127dc6247bfd8414523d/lib/devise/models/authenticatable. rb # L123), это может быть более сложным, чем это, если вы используете встроенные уведомления о создании при создании пользователя. 'deliver_later', вероятно, работает только для ранее сохраненных записей, а не для новых записей. – stevo

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