Ruby on rails 循环工作,但邮件不工作
我有一个方法,基本上是发送一个通知,有人在我的应用程序中提交了一个表单。我最近改变了我的模型,通过添加一个用户指定模型来处理所有作业(用户被分配到哪个学校等),可以通知多个人 方法:Ruby on rails 循环工作,但邮件不工作,ruby-on-rails,Ruby On Rails,我有一个方法,基本上是发送一个通知,有人在我的应用程序中提交了一个表单。我最近改变了我的模型,通过添加一个用户指定模型来处理所有作业(用户被分配到哪个学校等),可以通知多个人 方法: def new_message(applicant) @applicant = applicant @applicant.school.users.each do |user| mail(:to => user.email, :subject => "Submitte
def new_message(applicant)
@applicant = applicant
@applicant.school.users.each do |user|
mail(:to => user.email, :subject => "Submitted Application")
end
end
对象:
class Applicant
belongs_to :school
class School
has_many :applicants
has_many :user_designations
has_many :users, :through => :user_designations
class User
has_many :schools, :through => :user_designations
has_many :applicants, :through => :schools
mail函数仅在循环的最后一次迭代中起作用。我也得到了一个错误:
#学校的未定义方法“用户”:0x007fe064700890
在ActionMailer子类中,每个mailer操作在调用时构造邮件消息的内部表示,以便Rails传递。在您的循环中,您只是一次又一次地重构相同的邮件消息,因此只有循环的最后一次迭代幸存下来——这就是ActionMailer编写的方式 如果要向多个收件人发送邮件,您有以下几种选择:
- 使用一个循环,在其中调用邮件程序(
)mailer.new_message(…).deliver
- 在您的邮件中使用多个收件人/抄送/密件抄送地址
applications.school.users.each do | user |。。。结束
。您可以作为user
用户访问循环中的每个用户,谢谢我刚刚收到:)感谢您的帮助。