Rails:将使用prawn生成的pdf通过电子邮件发送到ActionMailer发送的电子邮件中?

时间:2010-07-27 05:42:41

标签: ruby-on-rails actionmailer prawn email-attachments

我有一个电子商务应用。我正在使用Prawn生成订单的pdf发票。我正在使用标准的Prawn设置。在views / admin / orders中,我有一个名为show.pdf.prawn的文件。当卖家在他的管理部分查看订单时,他点击了一个打开订单/展示视图的pdf版本的链接。这一切都很完美。

现在,棘手的部分。订单完成后,我会向卖家发送电子邮件。我想做的是将pdf发票版本的订单/节目附加到该电子邮件中。是否有可能做到这一点?关于电子邮件附件的文档非常有限,我无法找到贯穿我所描述的工作流程的资源。

感谢任何指导。

2 个答案:

答案 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来做到这一点,比评估模板容易得多。我回答了这里的答案:

Save a Prawn PDF as a Paperclip attachment?