我有一个电子商务应用。我正在使用Prawn生成订单的pdf发票。我正在使用标准的Prawn设置。在views / admin / orders中,我有一个名为show.pdf.prawn的文件。当卖家在他的管理部分查看订单时,他点击了一个打开订单/展示视图的pdf版本的链接。这一切都很完美。
现在,棘手的部分。订单完成后,我会向卖家发送电子邮件。我想做的是将pdf发票版本的订单/节目附加到该电子邮件中。是否有可能做到这一点?关于电子邮件附件的文档非常有限,我无法找到贯穿我所描述的工作流程的资源。
感谢任何指导。
答案 0 :(得分:2)
使用ActionMailer发送带有电子邮件的附件非常简单:
class InvoiceMailer < ActionMailer::Base
def email_with_attachment(pdf_invoice)
.
.
.
attachment "application/pdf" do |a|
a.filename = "some_invoice.pdf"
a.body = pdf_invoice
end
end
end
您可能遇到的一个问题是在prawnto方法之外生成pdf文件(使用prawnto插件时) - 如果是这种情况,我强烈建议您改为使用this approach。
答案 1 :(得分:0)
我有同样的问题,我设法通过从模型生成pdf来做到这一点,比评估模板容易得多。我回答了这里的答案: