Я пытаюсь сгенерировать электронные письма с вложенными PDF-вложениями, используя ActionMailer и wicked_pdf.
На моем сайте я уже использую и wicked_pdf, и actionmailer отдельно. Я могу использовать wicked_pdf для показа 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 (Action Mailer в Rails 3) в качестве руководства, я могу отправлять электронную почту с моим желаемым расширенным содержимым, только если я не пытаюсь добавить свое отображаемое вложение.
Если я пытаюсь добавить вложение (как показано выше), я получаю вложение того, что выглядит нужного размера, только имя вложения не соответствует ожидаемому и не может быть прочитано в формате PDF , В дополнение к этому, содержание моего письма отсутствует ...
Есть ли у кого-нибудь опыт использования ActionMailer при рендеринге PDF на лету в Rails 3.0?
Заранее спасибо!
--Dan