Pasar un array a una vista de ActionMailer


#1

Hola, estoy creando un envio de mail y tengo un problema que no se
como solucionar: Necesito pasar un Array con instancias de variable a
la plantilla, tengo esto:

def notify_assign_advantages_email(user,adv)
#adv es un array con instancias de variable
@recipients = user.email
@from = “xxxx”
@subject = “xxx”
@sent_on = Time.now
@body[:user] = user
@body[:adv] = adv
end

en la vista necesitaria hacer algo así

@adv.each do |a|
link_to a.title, adv_path(adv.id)
end

pero no me está pasando la variable adv a la vista y peta.

Alguna idea??

Gracias


“Nos gustaría cambiar el mundo, pero no tenemos el código fuente”

Emili 
Parreñowww.eparreno.com
www.abecedata.com

#2

Hola,

@adv.each do |a|
link_to a.title, adv_path(adv.id)
end

ésta parece fácil… en el bloque te has dejado “adv.id” en lugar de “a.id”

saludos,

j

javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#3

jejejeje, no te lo iba a poner tan fácil :wink: me he equivocado al
escribir el mail, en el codigo esta bien puesto

@adv.each do |a|
link_to a.title, adv_path(a.id)
end

De hecho, para evitar errores tontos he puesto en la vista @adv.size a
ver si me escribia la longitud del array y también peta.

El 27/10/2008, a las 17:06, javier ramirez escribió:

saludos,
Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


“Nos gustaría cambiar el mundo, pero no tenemos el código fuente”

Emili Parreño
www.eparreno.com
www.abecedata.com

#4

De hecho, para evitar errores tontos he puesto en la vista @adv.size a
ver si me escribia la longitud del array y también peta.

pues… dando por hecho que lo que tienes es una clase normal y
corriente que extiende a ActionMailer::Base y que el envío lo haces con un

deliver_notify_assign_advantages_email(user,adv)

lo que estás haciendo parece correcto. Seguro que adv le llega con valor
al método en el Mailer? has probado a depurar/meterle una traza en el método
del mailer para comprobar que adv no llega a nil?


javier ramírez

…i do ruby on rails development in madrid, spain, at
http://www.aspgems.com
…you can find out more about me on http://formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


#5

no basta con poner
@adv = adv
y en la vista usar @adv ?
o quizas no entendi bien el problema pero bueno ojala y sirva de algo
2008/10/27 Emili Parreño removed_email_address@domain.invalid


#6

Solucionado, efectivamente lo estaba haciendo bien, el problema era de
backgroundrd que no se reiniciaba correctamente y no se recargaban las
modificaciones hechas en los workers.

Gracias!

El 27/10/2008, a las 17:42, javier ramirez
escribió:

…you can find out more about me on http://
formatinternet.wordpress.com
and http://workingwithrails.com/person/5987-javier-ramirez


Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


“Nos gustaría cambiar el mundo, pero no tenemos el código fuente”

Emili 
Parreñowww.eparreno.com
www.abecedata.com