【发布时间】:2020-06-04 10:20:09
【问题描述】:
我正在尝试使用append_view_path,以便在发送的每封电子邮件的末尾呈现包含我想要的一些额外信息的部分内容。
我的邮件类如下所示:
class PasswordMailer < ActionMailer::Base
default :from => CaseCenter::Config::Reader.get('email_from')
append_view_path Rails.root.join('app','views','password_mailer')
def password_changed(user)
@user = user
mail(:to => user.email, :subject => t('mailer.email_topic_password_changed'))
end
end
运行时,它不会将我的部分添加到电子邮件的末尾。 (虽然发送了一封电子邮件)。
我的部分位于 app/views/password_mailer/password_changed_template.html.erb 并且只包含一个简单的 HTML 元素。
感谢您的帮助
【问题讨论】:
-
你有一个无与伦比的括号。把最后一行改成
mail(to: user.email, subject: t('mailer.email_topic_password_changed')) -
@max 感谢您指出这一点。当我输入我害怕的问题时,这是一个错字!我现在已经编辑了。
-
app/views/password_mailer/_password_changed_template.html.erb应该是这样的。您已经为部分添加了_ -
这解释了为什么您没有收到语法错误。此邮件应呈现
app/views/password_mailer/password_changed.html.erb(对 append_view_path 的调用是 superflouos)您可以将该视图添加到问题中吗? -
@AbhishekAravindan 感谢您的建议,但将第 4 行更改为
append_view_path "app/views/password_mailer/_password_changed_template.html.erb"并没有改变任何内容。
标签: ruby-on-rails actionmailer