我觉得我在这里错过了一些非常简单的东西......
我有一些文件要从我的应用程序的公共文件夹中下载。为了正确处理它,我做了这样的课程:
class UpdatesController < ApplicationController
def download teste
if params[:filename]
file_path = "#{Rails.public_path}/download/#{params[:filename]}"
send_file file_path, :filename => "#{params[:filename]}", :disposition => 'attachment'
end
end
end
现在,我的 routes.rb 看起来像:
match "updates/download/:filename" => "updates#download", :as => :getupdate
我像这样链接文件:
<%= link_to "Download this thing", getupdate_url(:filename => entry.file_name) , :class => "btn btn-mini" %>
好吧,url生成正确,我被重定向到正确的地址:
http://localhost:3000/updates/download/test.zip
我收到以下消息:
No route matches [GET] "/updates/download/test.zip"
在我的控制台中,我输入rake routes
并得到了这个:
$ rake routes
getupdate /updates/download/:filename(.:format) updates#download
该文件位于以下路径中:
.../myapp/public/download/test.zip
这里有什么问题!?