在index
视图中,有一个下载文件的链接:
<%= link_to filename, listing_download_path(:file => filename) %>
在控制器中:
def download
pathname = File.join(USER_FOLDER, params[:file])
if File.file?(pathname)
send_file pathname
end
end
end
当用户单击下载时,将显示文件下载弹出窗口。文件下载后会发生什么?铁路只是坐在那里再做什么?如果我删除send_file
行,则会呈现dwonload.html.erb
。 send_file
是否跳过了视图渲染?
如果我想要显示“你已下载...”这样的内容怎么办?
答案 0 :(得分:0)
send_file
是一个渲染本身。您可以使用此问题中提出的方法:
Rails: send_file never renders page or DoubleRender error
基本上,您的下载链接将发送到“成功”视图,您可以从中自动调用下载文件方法。