【发布时间】:2014-05-04 22:11:48
【问题描述】:
我正在尝试使用 rails action mailer 生成邮件,但它似乎并没有完全正确:
这里是我创建邮件的地方:
class UserNotifier < ActionMailer::Base
default from: 'mail@mail.com'
def forgot_password(user)
setup_email(user)
@subject += "Password restoration"
@url = url_for :controller => 'user_session', :action => 'reset_password',
:id => user.pw_reset_code, :only_path => true
end
protected
def setup_email(user)
@subject = "[MY APP] "
@sent_on = Time.now
@user = user
@content_type = "text/html"
mail to: user.email
end
end
这是包含邮件的html.erb。
<%= @user.name %>,
<br/><br/>
Restore password:
<%= @url %>
但是,邮件的主题并不是我说的那样。
但最重要的是,@url在html.erb中是nil,但是在forgot_password中生成正确,我测试了一下。
为什么是nil?我该怎么做才能呈现 URL?
【问题讨论】:
-
所以你可能说得不对。显示发送电子邮件的代码。
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 actionmailer