У меня есть пользовательская почтовая программа (UserMailer.rb
) и несколько методов, чтобы переопределить методы Devise по умолчанию для приветственных сообщений электронной почты и электронной почты с забытым паролем. Почтовая программа использует настраиваемый шаблон для стилей писем - и он отлично работает.Как настроить «повторный запрос подтверждения» от Devise
В config/initializers
, у меня есть файл с
module Devise::Models::Confirmable
# Override Devise's own method. This one is called only on user creation, not on subsequent address modifications.
def send_on_create_confirmation_instructions
UserMailer.welcome_email(self).deliver
end
...
end
(Опять же, UserMailer настроен и работает отлично подходит для приветствия электронной почты и сбросить пароль по электронной почте.)
Но что не работает это возможность Msgstr "Повторить подтверждение." Он отправляется с использованием стиля Devise по умолчанию, и я хочу, чтобы он использовал стиль моего макета почтовой рассылки. Я знаю, что я могу вручную добавить макет к макету Devise по умолчанию, но я бы хотел, чтобы DRY действовал и не должен был этого делать.
Я попытался перекрывая send_confirmation_instructions
метод found here, но я получаю сообщение об ошибке в wrong number of arguments (1 for 0)
create(gem) devise-2.2.3/app/controllers/devise/confirmations_controller.rb
на
7 # POST /resource/confirmation
8 def create
9 self.resource = resource_class.send_confirmation_instructions(resource_params)
В моем файле инициализации, я в состоянии добраться до этой ошибки путем добавления нового переопределить для Devise, но я, вероятно, не делаю этого правильно:
module Devise::Models::Confirmable::ClassMethods
def send_confirmation_instructions
UserMailer.send_confirmation_instructions(self).deliver
end
end
Любые идеи?