我有一张电子邮件表。我需要每个用户收到电子邮件。
我做了:
script/generate mailer Notifier
下一步。
class Notifier < ActionMailer::Base
def newgrants_notification(respondent)
recipients user.email
from "lala@lala.com"
subject "Hi!"
body (:respondent => respondent)
end
end
app/views/notifier/newgrants_notification.erb
写道:Hello!
这是我的控制器,我在其中创建问题
@question = Question.create(:text => params[:question][:text], :security => rand(888).to_i)
if success = @question.save
respondents = Respondent.find(:all)
respondents.each do |res|
Inquiry.create(:question_id=>@question.id.to_i, :respondent_id=>res.id.to_i)
Notifier.newgrants_notification(respondents).deliver #this is right??
end
我犯了什么错误?消息不会传来;(
答案 0 :(得分:4)
HI
respondents.each do |res|
Inquiry.create(:question_id=>@question.id.to_i, :respondent_id=>res.id.to_i)
Notifier.newgrants_notification(res).deliver
end
当您发送邮件时,邮件ID将作为参数传递,以便将受访者替换为res。
答案 1 :(得分:1)
当你使用每个响应者时,管道中的变量(| res |)是用来引用循环中单个对象的变量。
Notifier.newgrants_notification(res).deliver
答案 2 :(得分:1)
在开发模式下,不会发送所有电子邮件。它只记录在您的日志文件中。所以如果你对这个环境进行测试是正常的。如果你看到它,请检查你的日志:)