我正在尝试将我的应用名称放在动作邮件发送的电子邮件主题行中。使用默认的电子邮件地址执行此操作时没有问题,但是当我尝试将其添加到主题时,它会将其作为纯文本<%= app_name %>
发送。
这是我的邮件程序/ user_mailer.rb:
class UserMailer < ActionMailer::Base
add_template_helper(ApplicationHelper)
extend ApplicationHelper
default from: "#{app_name} <#{system_email}>"
def reset_password_email(user)
@user = user
@url = "#{root_url}/password_resets/#{user.reset_password_token}/edit"
mail(:to => user.email,
:subject => "Reset Your Password | #{app_name}")
end
end
以下是我在应用程序助手中的内容:
def app_name
'Tip Share'
end
def app_domain
'tipshare.herokuapp.com'
end
def system_email
'info@wingardcreative.com'
end
#{app_name}
或<%= app_name %>
都无效。我该怎么做?
答案 0 :(得分:1)
您是否尝试过这样添加:
include ApplicationHelper
答案 1 :(得分:0)
通过使用UserMailer
扩展ApplicationHelper
,这些方法可用作类方法 - 这就是default from: "#{app_name} <#{system_email}>"
中的引用有效的原因。
在reset_password_email
方法中,app_name
将是未定义的局部变量。
因此,您需要另外include ApplicationHelper
,或使用self.class.app_name
调用它。