ruby-on-rails – 无法在Rails 3中使用send_file函数读取文件

我正在使用的代码

在视图文件中:

<%= link_to "Download",download_image_path(image) %>

在控制器中:

def download
  @image = Image.find(params[:id])
  send_file "#{RAILS_ROOT}/public"  + @image.attachment.url
end

我收到一个错误

Cannot read file /Users/mohit/projects/my_app/public/system/attachments/4/original/Screen Shot 2011-11-04 at 3.14.03 PM.png?1320582022

PS:双重检查,文件存在.服务器上的相同问题,适用于所有相应控制器中的所有文件(图像,pdf,视频).

解决方法

问题是:

我在用

@image = Image.find(params[:id])
 send_file "#{RAILS_ROOT}/public"  + @image.attachment.url

它应该是

@image = Image.find(params[:id])
 send_file  @image.attachment.path

PS:确保验证图像/记录是否存在.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...