嘿那里有Stack Users,
我现在对这个问题感到沮丧了大约两个小时,并且不知道我做错了什么。我正在为send_intro_email
的更新操作调用方法User
。 send_intro_email
方法调用名为NotificationMailer
的{{1}}方法。
我遇到的问题是intro_email(user)
的数据一直传递到内部.erb电子邮件的使用位置。我测试了它,它实际上已经通过但不知道为什么我不能在电子邮件中使用它。
文件:
user
notificaion_mailer.rb
def intro_email(user)
puts user # works
mail(to: "email", from: "email2", subject: "THIS IS A TEST")
end
User.rb
def send_intro_email
NotificationMailer.intro_email(self).deliver
end
intro_email.erb
如果需要,我可以在以后使用其他PC时显示错误消息。非常感谢您的帮助。
答案 0 :(得分:0)
好吧,您正在使用局部变量user
,它只具有您定义的方法的范围。您必须使用实例变量@user
作为示例。所以要做的改变就像:
def intro_email(user)
@user = user
mail(to: "email", from: "email2", subject: "THIS IS A TEST")
end
然后在视图中使用@user
。像
The users name is <%= @user.name %>.