如何改变“设计:密码重置说明邮件的主题”(How to change “Devise: passwo

2019-07-19 00:13发布

我只是无法更改“密码重置说明”电子邮件的主题。 我在梅勒改变notifer.rb覆盖设计默认电子邮件主题。 但它不工作。

在这里,在我的应用程序有设计.yml文件里面默认的电子邮件主题。 但我想,使其动态通过从数据库提取数据更改。

Answer 1:

您可以在intilizer目录改变它在devise.en.yml文件

并设置自己的受任何邮件

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


Answer 2:

我得到这个通过创建我自己的子类设计::梅勒的工作。

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'


Answer 3:

你可以写你自己的方法,你的控制器内,并调用相应的邮件模板。 这将帮助你..否则制定的意见,会有一个视图页面发送复位指令。 更改内容有..



Answer 4:

更改选项:subject

class DeviseMailer < Devise::Mailer
  def reset_password_instructions(record, token, opts={})
    opts[:subject] = 'SOME DB DATA'
    super
  end
end


Answer 5:

如果你愿意翻译您设计的消息,这是我的情况下,更好的做法是创建一个新的文件阳明海运config/locale ,并在更改应用程序的语言环境config/application.rb

  1. 为了说明这一点,我不得不创建devise.pt-BR.yml内部config/locale

  2. 然后我复制它翻译从互联网上,在这个环节 。

  3. 最后,我把我的应用程序的新的语言环境在config/application.rb如下:

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

希望它可以帮助有同样的问题作为我的一些你们。



Answer 6:

对于默认外语(例如日本)

步骤1在配置创建“ja.yml” /区域设置/(或任何文件名)

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

步骤2在配置/环境/ development.rb

config.i18n.default_locale = :ja

第3步重新启动服务器



文章来源: How to change “Devise: password reset instruction email's subject”