【发布时间】:2011-07-14 21:05:12
【问题描述】:
一个用户可以创建一个对象,并且他有关注者,我想在他创建这个对象时提醒他。
控制者:
if @project.save
format.html { redirect_to(@project, :notice => 'Project was successfully created.') }
format.xml { render :xml => @project, :status => :created, :location => @project }
# Send a notification to project owner's followers :
UserMailer.new_project(@project).deliver
else
...
user_mailer.rb:
def new_project(project)
@url = "http://localhost:3000/"
@project = project
# For each of project owner's follower, send an email notification
@followers = project.owner.followers.all
@followers.each do |f|
@u = User.find(f.follower)
mail( :to => @u.email,
:from => '"Beatrix Kiddo" <beatrix@example.com>',
:subject => "#{project.owner.name} created a new project")
end
end
使用有 2 个关注者的用户进行测试:User.find(1).followers.count = 2
Follower.follower 是关注用户的id。
仅向第一个关注者发送了 1 封电子邮件,而第二个则没有收到任何内容 - 怎么了?
[已解决] => .deliver 方法根本不支持多条消息。谢谢DR
【问题讨论】:
标签: ruby-on-rails actionmailer