Question

J'essaie de générer des e-mails avec des pièces jointes PDF rendues en utilisant ActionMailer et Wicked_PDF.

Sur mon site, j'utilise déjà à la fois Wicked_PDF et ActionMailer séparément. Je peux utiliser Wicked_PDF pour servir un PDF dans l'application Web, et je peux utiliser ActionMailer pour envoyer du courrier, mais j'ai du mal à attacher du contenu PDF rendu à un ActionMailer (édité pour le contenu):

class UserMailer < ActionMailer::Base
  default :from => "webadmin@mydomain.com"

  def generate_pdf(invoice)
    render :pdf => "test.pdf",
     :template => 'invoices/show.pdf.erb',
     :layout => 'pdf.html'
  end

  def email_invoice(invoice)
    @invoice = invoice
    attachments["invoice.pdf"] = {:mime_type => 'application/pdf',
                                  :encoding => 'Base64',
                                  :content => generate_pdf(@invoice)}
    mail :subject => "Your Invoice", :to => invoice.customer.email
  end
end

En utilisant Railscasts 206 (Action Mailer dans Rails 3) comme guide, je peux envoyer un e-mail avec le contenu riche souhaité, seulement si je n'essaie pas d'ajouter ma pièce jointe rendue.

Si j'essaie d'ajouter la pièce jointe (comme indiqué ci-dessus), j'obtiens une attache de ce qui semble être la bonne taille, seul le nom de la pièce jointe ne apparaît pas comme prévu, ni lisible en tant que PDF. En plus de cela, le contenu de mon e-mail est manquant ...

Quelqu'un a-t-il une expérience en utilisant ActionMailer tout en rendant le PDF à la volée dans Rails 3.0?

Merci d'avance! --Dan

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top