Mon application crée un fichier .pdf lorsqu'il est rendu en le passant à l'URL (par exemple, domaine.com/letter/2.pdf)
p> Comment puis-je faire ce PDF réel une pièce jointe dans un email sortant. P> Voici mon mailer: P> 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
3 Réponses :
Voici un exemple pour les rails 2 dans votre vue ou partout où vous appelez votre méthode: p> ApplicationMailer.deliver_signup_notification(letter)
que, ou la méthode de votre utilisation pour créer votre PDF
C'est le chemin de la méthode de création: contact_letter_path (@Contact_letter,: format => 'PDF') est-ce ce que je mets là?
Contact_letter_Path expose ce que vous voulez, donc: lettre = contact_letter_path (@Contact_letter,: format => 'pdf')
puis passez lettre à ActionMailer: j'ai fait des modifications à ma réponse
Vous voulez dire, lettre comme objet?
Donc avant que j'utilise Signup_noClaiton, j'utilise lettre = contact_letter_path (@Contact_letter,: format => 'pdf "- qui stockera dans l'objet de la lettre que le PDF peut ensuite être attaché?
Pourquoi la lettre de livraison_signup_notification (lettre) ne passe-t-elle que la lettre, mais ne passe pas le destinataire, bien que Signup_notification nécessite deux paramètres?
Cela ne semble pas fonctionner ... il semble qu'il faut y avoir une commande de fichier ouverte nécessaire ...
Une solution rapide Une solution facile serait récupération du contenu de l'URL à l'aide de NET / HTTP et OUVER-URI, pour obtenir la pièce jointe ou, appelez la génération PDF à l'intérieur de l'action du contrôleur de votre courrier p> p>
Comment puis-je appeler le PDF générer à l'intérieur de l'action du contrôleur de courrier? Pourrais-je utiliser
Pièces jointes ['free.pdf'] = Ouvrir (contact_letter_path (@Contact_letter,: format => 'PDF'))
Je l'ai eu pour fonctionner en passant l'objet PDF directement dans la méthode Campagne_Email, puis en attribuant une pièce jointe. P>
Êtes-vous sur les rails 2 ou 3?
Pouvez-vous également montrer le code de la lettre-contrôleur qui envoie le PDF?
Ouais, je peux montrer le contrôleur, éditer ci-dessus.
Qu'utilisez-vous pour créer le fichier PDF? Pdfkit? Montrant peut-être le code qui génère le fichier aiderait.
J'utilise la crevette pour le générer.