【发布时间】:2017-01-01 03:21:37
【问题描述】:
调用 send_file 时,它会将文件发送到浏览器,但浏览器会将内容作为纯文本转储到新页面上,而不是下载文件。如果我刷新该页面,它会正常下载文件。
路线
get 'download' => 'qr_codes#download'
控制器
def download
path = Rails.root.join("events/active/#{params[:name]}/#{params[:batch]}/#{params[:file]}")
send_file(path, type: 'application/vnd.ms-excel', filename: params[:file])
end
查看
<%= link_to 'Original Upload', download_path(name: @event_name,
batch: batch, file: batch_upload_filename(@event_name, batch)) %>
解决方案:
这最终成为带有涡轮链接的known issue。如果像我一样使用 Turbolinks 5,更新后的语法是:data: { turbolinks: false }
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 sendfile