Как изменить "Придумать: пароль reset адрес электронной почты для справки" - программирование
Подтвердить что ты не робот

Как изменить "Придумать: пароль reset адрес электронной почты для справки"

Я просто не могу изменить тему сообщения "пароль reset". Я изменил notifer.rb в Mailer, чтобы перезаписать тему электронной почты по умолчанию для Devise. Но он не работает.

Здесь в моем приложении есть тема по умолчанию для электронной почты в файле Devise.yml. Но я хочу сделать его динамичным, чтобы изменить его, потянув данные из БД.

4b9b3361

Ответ 1

вы можете изменить его в файле devise.en.yml в каталоге intilizer

И настройте свой предмет для любой почтовой программы

                   mailer:
                     confirmation_instructions:
                       subject: 'Confirmation instructions'
                     reset_password_instructions:
                       subject: 'Reset password instructions'
                     unlock_instructions:
                       subject: 'Unlock Instructions'

Ответ 2

У меня это получилось, создав собственный подкласс класса Devise:: Mailer.

class DeviseMailer < Devise::Mailer
  def reset_password_instructions(record, token, opts={})
    mail = super
    # your custom logic
    mail.subject = "[SOME DB DATA]"
    mail
  end
end

И затем измените инициализатор devise.rb, чтобы использовать мою почтовую программу.

# Configure the class responsible to send e-mails.
config.mailer = 'DeviseMailer'

Ответ 3

Вы можете написать свой собственный метод внутри своего контроллера и вызвать соответствующий шаблон почтовой программы. Это поможет вам. Else devise views, появится страница просмотра для отправки инструкции reset. Измените содержание там.

Ответ 4

Если вы хотите перевести свои сообщения Devise, что было моим делом, лучше было бы создать новый yml файл в config/locale и изменить локализацию вашего приложения на config/application.rb

  • Чтобы проиллюстрировать, мне пришлось создать devise.pt-BR.yml внутри config/locale.

  • Затем я скопировал его переводы из Интернета, эту ссылку.

  • Наконец, я установил новое локальное приложение в config/application.rb следующим образом:

    config.i18n.default_locale = :'pt-BR'
    

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

Ответ 5

Для иностранного языка по умолчанию (пример японского)

ШАГ 1 Создайте 'ja.yml' в config/locales/(или любом другом имени файла)

ja:
  devise:    
    mailer:
      confirmation_instructions:
        subject: '仮会員登録完了のお知らせ'
      reset_password_instructions:
        subject: 'パスワード再設定手順のお知らせ'

ШАГ 2 В config/environment/development.rb

config.i18n.default_locale = :ja

ШАГ 3 Перезагрузите сервер