使用大虾作为actionmailer附件呈现pdf

时间:2018-08-28 14:12:29

标签: ruby-on-rails pdf actionmailer prawn

上下文:为什么我要通过电子邮件发送pdf?因为我正在尝试从运行在AWS上的Rails应用程序将其发送到办公室中的HP打印机。我可以将pdf附件发送到HP提供的电子邮件地址,并在打印机上打印。它必须是附件,不能是内联。

堆栈:Rails 5.0.2,用于开发的OSX,用于生产的Ubuntu 16.04

问题:我有一个生成PDF的Prawn模板,当在ActionController中调用时,它工作正常,但在ActionMailer中失败。

根据这个Stackoverflow问题Rails 3 Render Prawn pdf in ActionMailer,我尝试了

attachments["customer_order_#{@order.order_number}.pdf"] = render_to_string('picksheet/send_picksheet.pdf', :type => :prawn)

并收到此错误undefined method "response" for #<PicksheetMailer:0x007fcfa506f258> Did you mean? response_body

因此答案在Rails 3中有效,但在Rails 5中无效。错误发生在对虾模板生成输出的大虾模板的第一行。因此,我似乎正在尝试写入存在于ActionController而不是ActionMailer中的response中。

有什么想法吗?

0 个答案:

没有答案