需要帮助发送电子邮件

时间:2011-04-11 07:18:15

标签: ruby-on-rails

我有一张电子邮件表。我需要每个用户收到电子邮件。

我做了:

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

我犯了什么错误?消息不会传来;(

3 个答案:

答案 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)

在开发模式下,不会发送所有电子邮件。它只记录在您的日志文件中。所以如果你对这个环境进行测试是正常的。如果你看到它,请检查你的日志:)