Send_file在浏览中打开文件而不是下载它

请告诉我这是如何工作的,因为我不明白……这是我的简单代码:

路线:

get 'download' =>'pages#download' 

我的行动:

 def download send_file "#{Rails.root}/public/downloads/robots.zip", :type=>"application/zip" 

并下载链接:

  

所以,当我点击链接时,我得到了这个:

图片http://sofzh.miximages.com/ruby-on-rails/GrqvQ3xHlbaYmz.jpg

看起来浏览器正在尝试显示zip文件内容……但是当我从浏览器(或刷新页面)打开操作时,它工作正常。

当我点击link_to生成的链接时,为什么它不起作用?

Send_file在浏览中打开文件而不是下载它

试试这个

 def download send_file("#{Rails.root}/public/downloads/robots.zip", :type=>"application/zip",:disposition=> "attachment; filename=robots.zip") end 

 <%= link_to "download", download_path ,target: '_self' , data-turbolinks="false" %> 

添加disposition: "inline"而不是disposition: "attachment"对我有用。