Ruby on rails ruby将变量从视图(链接到)传递到控制器
我怎么做?此代码不起作用:Ruby on rails ruby将变量从视图(链接到)传递到控制器,ruby-on-rails,ruby,Ruby On Rails,Ruby,我怎么做?此代码不起作用: <% Dir.entries(Pathname.new("/Cd") + params[:project_id] + Pathname.new("art"))[2..-1].each do |file_name| %> <li><%= link_to file_name, {:action => 'download' } :params=> {:file_name => path} %></li> &l
<% Dir.entries(Pathname.new("/Cd") + params[:project_id] + Pathname.new("art"))[2..-1].each do |file_name| %>
<li><%= link_to file_name, {:action => 'download' } :params=> {:file_name => path} %></li>
<% end %>
def download
@path = :params(path)
send_file(path)
end
'download'}:params=>{:file_name=>path}%>
def下载
@路径=:参数(路径)
发送文件(路径)
结束
首先,它是params[:path]
,而不是:params(path)
,因此您的下载方法应该如下所示:
def download
@path = params[:path]
send_file(@path)
end
<%= link_to file_name, { :action => 'download', :path => file_name } %>
第二,你的观点是错误的。它应该是这样的:
def download
@path = params[:path]
send_file(@path)
end
<%= link_to file_name, { :action => 'download', :path => file_name } %>
'download',:path=>文件名}%>
顺便说一句,你所做的是非常不安全的。用户可以将任何路径发送到下载
方法,从而允许他们下载您系统上的任何文件。谢谢,这是一个很好的方法。此插件将在本地网络中工作。我不需要securityCan你告诉我如何生成链接。我的代码不工作:发送_文件(“/cd/”+路径)