Ruby on rails 在Rails 5中,如何同时使用wicked pdf和mailgun?

Ruby on rails 在Rails 5中,如何同时使用wicked pdf和mailgun?,ruby-on-rails,ruby,attachment,mailgun,wicked-pdf,Ruby On Rails,Ruby,Attachment,Mailgun,Wicked Pdf,使用mailgun API与使用ActionMailer略有不同。 我经常看到这样的情况: 附件['…]=… 在我找到的解决方案中 但我目前试图用mailgun构建的内容如下: def打印 @发票=发票.查找(参数[:id]) @订单=@invoice.order @客户=@order.customer pdf=呈现到字符串(:pdf=>“文件名”, :template=>“invoices/invoice.pdf.erb”, :layout=>invoice\u pdf.html') mg_c

使用mailgun API与使用ActionMailer略有不同。 我经常看到这样的情况:

附件['…]=…

在我找到的解决方案中

但我目前试图用mailgun构建的内容如下:

def打印
@发票=发票.查找(参数[:id])
@订单=@invoice.order
@客户=@order.customer
pdf=呈现到字符串(:pdf=>“文件名”,
:template=>“invoices/invoice.pdf.erb”,
:layout=>invoice\u pdf.html')
mg_client=Mailgun::client.new“key-xxxxxx”
mb_object=Mailgun::MessageBuilder.new
mb_object.add_附件pdf
mg_client.send_消息'mg.mydomain.com',mb_对象
结束
当我按下应用程序中的“打印”按钮(pdf将被发送到打印机)时,我得到:

字符串包含空字节

(突出显示!)
mb_object.add_附件pdf

显然,
pdf
对象并不是什么真正的东西。 这怎么可能

编辑1


也许最好问一下,因为这也需要做:如何将恶意pdf保存到S3(以尽可能少的步骤)。

作为字符串的pdf通常包含空字节。这告诉我它起作用了。说明
add_attachment
应该是磁盘上文件的路径,而不是内存中的字符串。谢谢是的,我想把文件保存在某个地方会更好,所以所有发票的pdf都必须转到S3。问题是,这将使用一些相同的机制。无论如何,我将使用我实际保存的另一个随机文件来检查
add_attachment
。从pdf到S3是另一个需要解决的问题。