上下文:为什么我要通过电子邮件发送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
中。
有什么想法吗?