我的Rails应用程序中运行了以下代码段,但它没有正确迭代:
task.users.each do |user|
mail(to: user.email
from: "Company <task." + user.id + "@mail.company.com",
subject: "Update on " + user.assignment)
end
如果有3个用户,则只发送一封电子邮件。我已经确认没有任何错误阻止它继续。
我不能简单地将一组电子邮件传递给to
选项,因为我需要在每次迭代中使用用户的数据。
这可以像上面那样完成吗?
答案 0 :(得分:2)
您需要调用.deliver_now
方法。
mail(to: user.email
from: "Company <task." + user.id + "@mail.company.com",
subject: "Update on " + user.assignment).deliver_now
我遇到了这种交付不起作用的问题,可能是因为邮件超出了范围。
所以你可能需要这样做:
class SendWeeklySummary
def run
User.find_each do |user|
UserMailer.weekly_summary(user).deliver_now
end
end
end