ActionMailerに添付ファイルとしてprawn pdfをレンダリングするには?私はdelayed_jobを使用して理解していない、どうすればアクションメーラー(コントローラーではない)でpdfファイルをレンダリングできますか?私はどんなフォーマットを使うべきですか?Rails 3レンダリングPrawn pdf in ActionMailer
7
A
答えて
7
あなたは、Prawnに文字列にPDFをレンダリングし、それを電子メールの添付ファイルとして追加する必要があります。添付ファイルの詳細については、ActionMailer docsを参照してください。ここで
は例です:
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
私のソリューション:私はメール機能のためのブロックを書いていないとマルチパートメールが誤っていたので、
render_to_string('invoices/show.pdf', :type => :prawn)
PDFが破損していました。
3
PRAWNのRailsCastに従った。既に何が言われているのか、同様に達成しようとしていたことを考えて、私は添付ファイル名を設定して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
関連する問題
- 1. Ruby on Rails用Prawn PDFを使用してPDFをブラウザにレンダリングできない
- 2. ActionMailer 3 Railsなし
- 3. Rails、Prawn - PDFはブラウザなどに表示
- 4. Rails 3 ActionMailerモデル属性
- 5. jQuery in Rails 3 "Beginning Rails 3"
- 6. 画像を含むPDFを生成するPrawn PDF Rails
- 7. Has_and_belongs_to_many in Rails 3
- 8. Mollom in Rails 3
- 9. POST in rails 3
- 10. Rails 3 ActionMailerローカライズされたビューフォールバック
- 11. PrawnはHeroku上でPDFをレンダリングしませんが、ローカルにします
- 12. Railsレンダリングjson partial in model
- 13. Rails 3 - request.request_uri in model
- 14. Prawn PDFテーブルの混合フォーマット
- 15. PDF Prawn:テキストオーバーライドの問題
- 16. RailsアプリケーションのアップデートでPrawn PDFレポートを作成する前に
- 17. Rails PDFからPrawnの代替手段を生成
- 18. Prawn for Rails 4のインストール方法
- 19. Rails 3 - Friendly params in url(GET)
- 20. I18n in Rails 3 with adminネームスペース
- 21. Google Calendar in Rails 3 App
- 22. prawn pdfグループ、トランザクション、ロールバックメソッドの問題
- 23. Rails 3.2 ActionMailerデモ失敗
- 24. Rails 3レンダリングの問題
- 25. Rails 3のレンダリングが遅い
- 26. Rails 3でのPdf生成
- 27. Rails 3のActionMailerテンプレートからサブジェクトを設定しますか?
- 28. レンダリング部分的なonclick in Rails
- 29. Railsのactionmailerのエンコーディング
- 30. Rails 3 ActionMailer - 受取人の住所なし
私はすでにビュー/請求書/ show.pdf.prawnを持っています。 InvoicesControllerはそれを正常にレンダリングします。メーラーでrender_to_stringを使ってレンダリングしようとしましたが、壊れたPDFがありました。この既存のビューファイルをレンダリングする方法は? render_to_stringの型または書式を指定する必要があります。 – maxs