Ruby on rails文件下载链接

时间:2012-05-21 15:01:05

标签: ruby-on-rails ruby-on-rails-3 download

我使用回形针创建了文件上传!文件上传应该是。 比我添加这样的文件下载方法:

def download
    sample = Sample.find(params[:id])


    send_file  upload.sample.path,
    :filename => upload.sample_file_name,
                :type => upload.sample_content_type,
    :disposition => 'attachment'
    flash[:notice] = "Your file has been downloaded"
  end

但我无法弄清楚,我应该在演出动作中加入什么以便能够下载文件?

我得到了这个:

<td><%= @sample.upload_file_name =%></td>
    <%= link_to 'Download', :action => :download, :path =>@sample.upload.url, :type => @sample.upload_content_type %>

但它显示错误:无法找到带有id = download

的Sample

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:2)

认为你需要改变你的link_to来发送:id(这是控制器动作用params [:id]寻找的)

<%= link_to 'Download', :action => :download, :id => @sample.id %>

Soz Karlis正如你发布的那样写作:D

答案 1 :(得分:0)

= link_to'download',@ sample.upload.path 这是最简单的方法))

答案 2 :(得分:0)

假设你正确设置了下载命名路由,你可以说

<%= link_to 'Download', download_sample_path(@sample) %>

答案 3 :(得分:0)

看起来你的路线不匹配。

这就是为什么,你必须:

  1. routes.rb 中添加其他路径以进行下载操作。
  2. 如前所述,您必须添加指向您的视图的链接(link_to)。
  3. 阅读这篇文章,了解更多高级下载功能: http://thewebfellas.com/blog/2009/8/29/protecting-your-paperclip-downloads

相关问题