为什么“Action Mailer”不渲染电子邮件模板?

got*_*tqn 5 ruby templates actionmailer ruby-on-rails-3

我正在 Ruby on Rails 应用程序中使用“Action Mailer”来发送电子邮件。我有以下操作邮件:

class SecurityUserMailer < ActionMailer::Base

  default from: 'myemail@gmail.com'

  def password_reset(security_user)
    @security_user = security_user
    mail to: security_user.email, subject: 'Password Reset'
  end

  def email_confirmation(security_user)
    @security_user = security_user
    mail to: security_user.email, subject: 'Account Created'
  end

end
Run Code Online (Sandbox Code Playgroud)

我成功发送电子邮件,但第二种方法(email_confirmation)未使用相应的模板。

电子邮件模板位于views/security_users_mailer文件夹中,命名如下:

  1. 电子邮件_确认.txt.erb
  2. 密码重置.txt.erb

为什么只使用password_reset模板?

请注意,首先,我认为模板中的代码可能有问题,但后来我用文本内容替换它,并且它没有再次呈现。

got*_*tqn 4

该问题是由文件扩展名 TYPO 引起的。我有

邮件确认。txt.erb

邮件模板应带有扩展名texthtml

正如您从官方文档中看到的- 默认情况下使用具有相同邮件程序操作的模板(如果存在)。