将通过ActionMailer中的WickedPDF生成的PDF传递给其他模块中的功能

时间:2018-07-24 06:26:13

标签: ruby-on-rails ruby ruby-on-rails-4 actionmailer

当人们通过我的网站付款时,我正尝试向他们发送电子邮件。我能够生成附件并将其与电子邮件一起发送。

我需要我的申请流程如下:

生成附件-> 通过电子邮件发送-> 将附件发送到Google云端硬盘

第一步和第二步已完成。我在第三步上遇到了一些问题。对于Google云端硬盘,我已经使用Google API制作了一个单独的模块,并且运行良好。

我遇到的问题是将pdf对象从ActionMailer传递到Drive中声明的Function中。函数没有发送pdf,而是发送了此Object。

  

ActionMailer :: Base :: NullMail:0x0x0x(某物)

默认情况下,邮件程序仅返回ActionMailer对象,有什么方法可以覆盖它以返回在邮件程序中生成的PDF?如果没有,我还有什么其他方法可以做到呢?

2 个答案:

答案 0 :(得分:0)

您可以从ActionMailer对象或数据库中获取文件路径,并在第三步中直接操作文件。

答案 1 :(得分:0)

我已经解决了问题并更新了答案,以便其他人可以受益。

我能够通过从ActionController本身导入render函数来实现它。

现在从视图对象中,我可以执行view.render并执行相同的参数。我正在使用Rails 4,但是正如某些人告诉我的那样,此功能已在Rails 5中简化。

我从这里使用此代码: Rails: Render view from outside controller

@IBAction func action(_ sender: Any) {
        print("i")
    }