send_file后rails中的MissingFile错误

时间:2015-09-07 14:53:35

标签: ruby-on-rails

我为电子邮件实现了一个简单的像素跟踪器。在调用我的控制器方法时,我使用send_file来回复html电子邮件模板中的gif图像。

send_file 'https://s3.eu-central-1.amazonaws.com/xxxxxxxxxxx.gif', :type => 'image/gif', :disposition => 'inline'

现在每次加载图片我都会

  

电子邮件#mail_check:

中发生了一个ActionController :: MissingFile      

无法读取文件   https://s3.eu-central-1.amazonaws.com/eventbaxx/xxxxxxxxxxx.gif   app / controllers / emails_controller.rb:90:在`mail_check'

我意识到这可能与访问权限有关,但我将文件设置为公共文件,我也可以通过浏览器访问图像,这样就不会出现问题了。

我的应用程序托管在heroku上。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

AFAIK你不能用你服务器上没有的文件做send_file。您可以将文件复制到服务器并发送,也可以重定向到文件,这是更有效的选项。

请参阅Using send_file to download a file from Amazon S3?