Un usuario puede crear un objeto y tiene seguidores a los que quiero alertar cuando crea este objeto.Envío de cartas Rails 3 + action - No se puede enviar un bucle para enviar correos electrónicos
controlador:
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" <[email protected]>',
:subject => "#{project.owner.name} created a new project")
end
end
Testing con un usuario que tiene 2 seguidores:
User.find(1).followers.count = 2
Follower.follower
es el id
del usuario que está siguiendo.
Solo se envía 1 correo electrónico al 1er seguidor, y el 2º no recibe nada, ¿qué ocurre?
[SOLUCIONADO] => el método .deliver
simplemente no admite varios mensajes. Thx DR
Grande, que trabaja muy bien --- no conocía el ** ** entregar método doesn Soporta múltiples mensajes --- ¡Demasiado! – Laurent
Como aide memoire, vale la pena pensar en publicistas como controladores y en el método de correo como visualización. Los controladores solo pueden renderizar una vez. –