Come rendere il pdf di gamberi come allegato in ActionMailer? Uso delayed_job e non capisco, come potrei renderizzare il file pdf nel mailer di azione (non nel controller). Quale formato dovrei usare?Rails 3 Render Prawn pdf in ActionMailer
7
A
risposta
7
Devi solo dire a Prawn di eseguire il rendering del PDF in una stringa, quindi aggiungerlo come allegato al messaggio di posta elettronica. Consulta lo ActionMailer docs per i dettagli sugli allegati.
Ecco un esempio:
class ReportPdf
def initialize(report)
@report = report
end
def render
doc = Prawn::Document.new
# Draw some stuff...
doc.draw_text @report.title, :at => [100, 100], :size => 32
# Return the PDF, rendered to a string
doc.render
end
end
class MyPdfMailer < ActionMailer::Base
def report(report_id, recipient_email)
report = Report.find(report_id)
report_pdf_view = ReportPdf.new(report)
report_pdf_content = report_pdf_view.render()
attachments['report.pdf'] = {
mime_type: 'application/pdf',
content: report_pdf_content
}
mail(:to => recipient_email, :subject => "Your report is attached")
end
end
0
La mia soluzione:
render_to_string('invoices/show.pdf', :type => :prawn)
PDF è stato danneggiato perché non ho scritto blocco per la funzione di posta elettronica e-mail in più parti non era corretto.
3
Ho seguito i RailsCasts per PRAWN. Preso ciò che è già stato detto e ciò che stavo cercando di ottenere allo stesso modo, ho impostato il nome dell'allegato e poi ho creato il PDF.
InvoiceMailer:
def invoice_email(invoice)
@invoice = invoice
@user = @invoice.user
attachments["#{@invoice.id}.pdf"] = InvoicePdf.new(@invoice, view_context).render
mail(:to => @invoice.user.email,
:subject => "Invoice # #{@invoice.id}")
end
Problemi correlati
- 1. ActionMailer 3 senza Rails
- 2. rails 3 render parziale con parametri
- 3. Renderizza JSON per l'immagine in Prawn PDF
- 4. Rails PDF Prawn Intestazioni e piè di pagina
- 5. Ruby on Rails & Prawn PDF - Crea lista clienti
- 6. Rails, Prawn - PDF visualizzato nel browser ed ecc.
- 7. Come installare Prawn for Rails 4
- 8. Impossibile rendere PDF al browser utilizzando Prawn PDF per Ruby on Rails
- 9. Impostare l'oggetto dal modello ActionMailer in Rails 3?
- 10. Rails/Prawn: come utilizzo gli helper dei binari all'interno di una classe Prawn?
- 11. Rails ActionMailer codifica
- 12. rotaie 3 + gamberi pdf + html_safe
- 13. Salva un PDF Prawn come allegato Paperclip?
- 14. Render PDF su un Blackberry?
- 15. Play Framework 2 Render pdf
- 16. Rails Configurazione ActionMailer per Zoho
- 17. Actionmailer non recapita posta, con binari 3
- 18. Come si definisce l'altezza della linea con Prawn quando si genera un'applicazione pdf in rails?
- 19. Rails 3.1 Assets in ActionMailer con image_tag
- 20. Rails ActionMailer ignora le impostazioni in environment.rb
- 21. non inizializzata costante Mime :: PDF utilizzando Wicked gemma PDF/Rails 3 progetto
- 22. intestazione e piè di pagina in Prawn PDF
- 23. Contattaci funzionalità in Rails 3
- 24. Utilizzo di Prawn on Heroku
- 25. Rails 3.1 Percorso modello personalizzato ActionMailer?
- 26. Rails 3 Azione Mailer non inizializzata costante
- 27. Python + Selenium + PhantomJS render to PDF
- 28. Rails render partial with block
- 29. Render da Svg a Pdf usando jspdf
- 30. Come configurare l'hostname per Rails ActionMailer?
ho già viste/fatture/show.pdf.prawn. InvoicesController lo esegue correttamente. Ho provato a renderlo utilizzando render_to_string nel mailer e ho ottenuto PDF corrotto. Come rendere questo file di visualizzazione esistente? Potrebbe essere necessario specificare: tipo o formato per render_to_string. – maxs