Mon application crée un fichier .pdf lorsqu'il est rendu en passant à l'URL (par exemple, domain.com/letter/2.pdf)Comment attacher un fichier .pdf au format .pdf à un courrier électronique dans Rails 2.3.5?
qu'il ne soit pas sauvé partout.
Comment est-ce que je peux faire ce pdf réel une pièce jointe dans un email sortant.
Voici mon logiciel de messagerie:
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
C'est le contrôleur qui crée/rend le 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
NOTE: Je Hardcoded localhost: 3000/comment puis-je remplacer que par une variable de sorte que sur dev il est localhost: 3000 et sur la production est-ce le bon domaine? Est-il possible d'inclure le routage dans ce)
ERREUR: Je reçois un
Invalid argument - http://localhost:3000/contact_letters/9.pdf
êtes-vous sur les rails 2 ou 3? – thatmiddleway
rails 2.3.5 (?) – Angela
pouvez-vous également afficher le code de la lettre-contrôleur qui envoie le pdf? – nathanvda