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'
6 回答
您可以在intilizer目录中的devise.en.yml文件中进行更改
并为任何邮件设置自己的主题
我通过创建自己的Devise :: Mailer子类来实现这一点 .
然后修改devise.rb初始化程序以使用我的邮件程序 .
您可以在控制器中编写自己的方法并调用相应的邮件程序模板 . 这将有助于你..除了设计视图,还会有一个视图页面发送重置指令 . 改变那里的内容..
更改选项
:subject
:如果您愿意翻译您的Devise消息,这是我的情况,更好的做法是在
config/locale
中创建一个新的yml文件,并在config/application.rb
更改您的应用程序的语言环境为了说明,我必须在
config/locale
内创建devise.pt-BR.yml
.然后我在this link上复制了来自互联网的翻译 .
最后,我将应用程序的新语言环境设置为
config/application.rb
,如下所示:希望它可以帮助你们中的一些人和我一样有同样的问题 .
默认外语(例如日语)
STEP 1 在config / locales /(或任何文件名)中创建'ja.yml'
STEP 2 在config / environments / development.rb上
STEP 3 重启服务器