В index
зрения, есть ссылка на скачивание файла:Что случилось после send_file в контроллере Rails?
<%= 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
просмотр пропусков?
Что делать, если я хочу показать что-то вроде «Вы скачали ...»?
Я думаю, что рельсы (или рубины) не отправляют данные сами. Он использует X-Sendfile для передачи/обработки данных на веб-сервере. Вы можете прочитать об этом здесь: http://www.therailsway.com/2009/2/22/file-downloads-done-right/ –