0
在index
看來,是下載文件的鏈接:Rails控制器中的send_file後發生了什麼?
<%= 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
跳過視圖渲染?
如果我想顯示「您已經下載...」之類的東西,該怎麼辦?
我認爲rails(或ruby)不會去發送數據本身。它使用X-Sendfile將數據處理/發送到Web服務器。你可以在這裏閱讀:http://www.therailsway.com/2009/2/22/file-downloads-done-right/ –