我只是无法更改“密码重置说明”电子邮件的主题。 我在梅勒改变notifer.rb覆盖设计默认电子邮件主题。 但它不工作。
在这里,在我的应用程序有设计.yml文件里面默认的电子邮件主题。 但我想,使其动态通过从数据库提取数据更改。
我只是无法更改“密码重置说明”电子邮件的主题。 我在梅勒改变notifer.rb覆盖设计默认电子邮件主题。 但它不工作。
在这里,在我的应用程序有设计.yml文件里面默认的电子邮件主题。 但我想,使其动态通过从数据库提取数据更改。
您可以在intilizer目录改变它在devise.en.yml文件
并设置自己的受任何邮件
mailer:
confirmation_instructions:
subject: 'Confirmation instructions'
reset_password_instructions:
subject: 'Reset password instructions'
unlock_instructions:
subject: 'Unlock Instructions'
我得到这个通过创建我自己的子类设计::梅勒的工作。
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'
你可以写你自己的方法,你的控制器内,并调用相应的邮件模板。 这将帮助你..否则制定的意见,会有一个视图页面发送复位指令。 更改内容有..
更改选项:subject
:
class DeviseMailer < Devise::Mailer
def reset_password_instructions(record, token, opts={})
opts[:subject] = 'SOME DB DATA'
super
end
end
如果你愿意翻译您设计的消息,这是我的情况下,更好的做法是创建一个新的文件阳明海运config/locale
,并在更改应用程序的语言环境config/application.rb
为了说明这一点,我不得不创建devise.pt-BR.yml
内部config/locale
。
然后我复制它翻译从互联网上,在这个环节 。
最后,我把我的应用程序的新的语言环境在config/application.rb
如下:
config.i18n.default_locale = :'pt-BR'
希望它可以帮助有同样的问题作为我的一些你们。
对于默认外语(例如日本)
步骤1在配置创建“ja.yml” /区域设置/(或任何文件名)
ja:
devise:
mailer:
confirmation_instructions:
subject: '仮会員登録完了のお知らせ'
reset_password_instructions:
subject: 'パスワード再設定手順のお知らせ'
步骤2在配置/环境/ development.rb
config.i18n.default_locale = :ja
第3步重新启动服务器