Cómo render de gambas pdf como archivo adjunto en ActionMailer? Utilizo el método de trabajo demorado y no entiendo, ¿cómo puedo presentar el archivo pdf en acción publicitaria (no en el controlador)? ¿Qué formato debo usar?Rails 3 Render Prawn pdf en ActionMailer
7
A
Respuesta
7
Solo tiene que decirle a Prawn que represente el PDF en una cadena y luego lo agregue como un archivo adjunto al correo electrónico. Consulte el ActionMailer docs para obtener detalles sobre los archivos adjuntos.
He aquí un ejemplo:
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
Mi solución:
render_to_string('invoices/show.pdf', :type => :prawn)
PDF fue corrompido porque no escribo bloque de función de correo electrónico y de correo electrónico de varias partes era incorrecta.
3
Seguí los RailsCasts para PRAWN. Tomando lo que ya se ha dicho y lo que estaba tratando de lograr de manera similar, establecí el nombre del archivo adjunto y luego creé el 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
Cuestiones relacionadas
- 1. Prawn & Prawnto Rails Generación PDF - UTF-8?
- 2. Rails 3 -Render PDF de la vista y adjuntarlo al correo electrónico
- 3. Prawn PDF table mixed formats
- 4. Ruby on Rails & Prawn PDF - Crear lista de clientes
- 5. ¿Cómo decide Rails 3 Actionmailer qué formato usar?
- 6. No se puede procesar el PDF al navegador utilizando Prawn PDF para Ruby on Rails
- 7. ActionMailer 3 sin rieles
- 8. render parciales en las plantillas ActionMailer
- 9. Rails 3: guides.rubyonrails.org en PDF?
- 10. ¿Establecer sujeto desde la plantilla de ActionMailer en Rails 3?
- 11. Rails 3 render parcial desde otro controlador (error: ActionView :: MissingTemplate)
- 12. Rails 3 vs 2.3.5 render oddities con: partial y: layout
- 13. ceda si el contenido, render algo diferente (Rails 3)
- 14. Ruby on Rails - Render JSON
- 15. no inicializado constante Mime :: PDF utilizando traviesa joya PDF/Rails 3 proyecto
- 16. carriles 3 + gambas pdf + html_safe
- 17. Rails 3: abandono el envío de correo dentro de la acción de ActionMailer
- 18. Problemas de Rails ActionMailer en Mac
- 19. Rails 3.1 Activos en ActionMailer con image_tag
- 20. Rails 3 Acción Mailer sin inicializar constantes
- 21. Rails 3.1 ActionMailer Custom Template Path?
- 22. Contacto funcionalidad en Rails 3
- 23. Rails ignorando render y redirect_to
- 24. JSON filtro de render en Rails
- 25. En Rails 3 y ActionMailer, ¿es posible enviar correos electrónicos usando TLS sobre SSL (No StartTLS)?
- 26. Configuración de una cuenta de Gmail para trabajar con ActionMailer en Rails 3
- 27. Traducir JSON en Rails 3
- 28. Rails 3 y PDFKit, ¿cómo puedo convertir un archivo HTML en un PDF de orientación horizontal?
- 29. Enviando boletines en Rails 3
- 30. ¿Cómo simplificar "render_to_string" en Rails 3?
Ya tengo vistas/facturas/show.pdf.prawn. InvoicesController lo procesa con éxito. Intenté renderizarlo usando render_to_string en el programa de correo y obtuve PDF corrupto. ¿Cómo renderizar este archivo de vista existente? Puede ser que necesite especificar: tipo o formato para render_to_string. – maxs