【发布时间】:2011-11-18 05:34:45
【问题描述】:
我正在尝试根据数据库中的布尔值发送多封电子邮件。该应用程序是一个简单的调度应用程序,用户可以将他们的班次标记为“replacement_needed”,这应该会向所有请求接收这些电子邮件的用户发送电子邮件。麻烦的是,它似乎只发送到一封电子邮件。这是我当前的代码:
def request_replacement(shift)
@shift = shift
@user = shift.user
@recipients = User.where(:replacement_emails => true).all
@url = root_url
@recipients.each do |r|
@name = r.fname
mail(:to => r.email,
:subject => "A replacement clerk has been requested")
end
end
【问题讨论】:
-
对#mail 的调用实际上并不发送电子邮件,它只是创建了邮件对象。在该邮件对象上调用 #deliver 会发送它。因此,当您调用 #deliver 时,只会发送最后一个创建的文件(大概在另一段代码中)。
标签: ruby-on-rails-3 actionmailer