Я пытаюсь создать электронные письма с предоставленными PDF-документами с помощью ActionMailer и wicked_pdf.
На моем сайте я использую уже оба wicked_pdf и actionmailer отдельно. Я могу использовать wicked_pdf для подачи PDF файла в веб-приложении и могу использовать ActionMailer для отправки почты, но у меня возникли проблемы с прикреплением отображаемого pdf-содержимого к ActionMailer (отредактирован для контента):
class UserMailer < ActionMailer::Base
default :from => "[email protected]"
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 in Rails 3) в качестве руководства, я могу отправить электронное письмо с моим желаемым богатым контентом, только если не пытаюсь добавить мое визуализированное вложение.
Если я попытаюсь добавить вложение (как показано выше), я получаю привязку к тому, что выглядит правильным, только имя вложения не встречается так, как ожидалось, и оно не может быть прочитано как pdf, В дополнение к этому содержимое моего письма отсутствует...
Есть ли у кого-нибудь опыт использования ActionMailer при рендеринге PDF на лету в Rails 3.0?
Спасибо заранее! --Dan