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

前端之家收集整理的这篇文章主要介绍了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,视频).

@H_403_16@

解决方法

问题是:

我在用

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

它应该是

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

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

@H_403_16@ @H_403_16@

猜你在找的Ruby相关文章