Как изменить "Придумать: пароль reset адрес электронной почты для справки"
Я просто не могу изменить тему сообщения "пароль reset". Я изменил notifer.rb в Mailer, чтобы перезаписать тему электронной почты по умолчанию для Devise. Но он не работает.
Здесь в моем приложении есть тема по умолчанию для электронной почты в файле Devise.yml. Но я хочу сделать его динамичным, чтобы изменить его, потянув данные из БД.
Ответы
Ответ 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 Перезагрузите сервер