ActionMailer と wicked_pdf を使用して、レンダリングされた PDF 添付ファイルを含む電子メールを生成しようとしています。
私のサイトでは、すでに wicked_pdf と actionmailer の両方を別々に使用しています。wicked_pdf を使用して Web アプリで pdf を提供し、ActionMailer を使用してメールを送信できますが、レンダリングされた pdf コンテンツを ActionMailer (コンテンツ用に編集) に添付するのに問題があります。
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
Railscasts 206 (Rails 3 の Action Mailer) をガイドとして使用すると、レンダリングされた添付ファイルを追加しようとしない場合にのみ、目的のリッチ コンテンツを含むメールを送信できます。
添付ファイルを追加しようとすると (上記のように)、適切なサイズの添付ファイルが表示されますが、添付ファイルの名前だけが期待どおりに表示されず、pdf として読み取ることもできません。それに加えて、メールの内容が欠落している...
Rails 3.0 でオンザフライで PDF をレンダリングする際に ActionMailer を使用した経験のある人はいますか?
前もって感謝します!――ダン