我有一个电子商务应用程序。我正在使用Prawn生成订单的pdf发票。我正在使用标准的Prawn设置。在视图/管理员/订单中,我有一个名为show.pdf.prawn的文件。卖方在其“管理”部分中查看订单时,他单击一个链接以打开订单/显示视图的pdf版本。所有这一切都完美。
现在,棘手的部分。订单完成后,我会向卖家发送电子邮件。我想做的是将订单/显示的pdf发票版本附加到该电子邮件。是否有可能做到这一点?电子邮件附件的文档非常有限,我无法找到正在描述的工作流中的资源。
任何指导表示赞赏。
最佳答案
使用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。