0
大家好!我有一个视图show
,其中显示可下载文件的链接。我有一个方法 - download_file
发送该文件Rails如何在方法之间传递对象
def download_file
@myfile = Myfile.find(params[:myfile]) <======this line does not work
send_file Rails.root.join(@myfile.myfile_directory, "file.csv"), :type=>"application/csv", :x_sendfile=>true
flash[:notice] = "Your file has been downloaded"
end
我的问题是 - 如何传递MYFILE对象控制器download_file
方法从视图中show
? 我的观点
<td><%= @myfile.myfile_name %></td>
<%= link_to "Download file" , :action => 'download_file' %>
<%= link_to 'Edit', edit_myfile_path(@myfile) %>
我在控制器曾尝试:
@myfile = Myfile.find(params[:myfile])
@myfile = Myfile.find(params[:myfile]).first
@myfile = Myfile.find(params[:id])
@myfile = Myfile.find(params[:id]).first
它不工作。 非常感谢您的帮助!
嗨!感谢您的帮助!我尝试了它,并得到错误,未定义的方法'[]为零:NilClass' – 2014-10-29 17:23:53
它抛出...? – blelump 2014-10-29 17:27:47
刚刚发现'download_file_my_files_path(:id => @ myfile.id)'工作正常! – 2014-10-29 17:29:50