Mi aplicación crea un archivo .pdf cuando se representa mediante el paso a la dirección URL (por ejemplo, domain.com/letter/2.pdf)¿Cómo puedo adjuntar un .pdf renderizado a un correo electrónico en Rails 2.3.5?
No consigue guardados en cualquier lugar.
¿Cómo puedo hacer que el pdf real sea un archivo adjunto en un correo electrónico saliente?
Aquí es mi gestor de correo:
def campaign_email(contact,email)
subject email.subject
recipients contact.email
from 'Me <[email protected]>'
sent_on Date.today
attachment = File.read("http://localhost:3000/contact_letters/#{attachment.id}.pdf")
attachment "application/pdf" do |a|
a.body = attachment
a.filename = "Othersheet.pdf"
end
end
Este es el controlador que crea/hace que el PDF:
def create
@contact_letter = ContactLetter.new(params[:contact_letter])
@contact = Contact.find_by_id(@contact_letter.contact_id)
@letter = Letter.find_by_id(@contact_letter.letter_id)
if @contact_letter.save
flash[:notice] = "Successfully created contact letter."
#redirect_to contact_path(@contact_letter.contact_id)
redirect_to contact_letter_path(@contact_letter, :format => 'pdf')
else
render :action => 'new'
end
end
NOTA: Me hardcoded localhost: 3000/cómo puedo sustituir eso con una variable entonces, ¿en dev es localhost: 3000 y en producción es el dominio correcto? ¿Hay una manera de incluir el enrutamiento en este)
ERROR:? Me sale un
Invalid argument - http://localhost:3000/contact_letters/9.pdf
¿Está usted en los rieles 2 o 3? – thatmiddleway
rails 2.3.5 (?) – Angela
¿también puede mostrar el código del controlador de letras que envía el pdf? – nathanvda