之前在开发文件下载的功能时,我遇到了一个很奇怪的问题,点击下载链接,在chrome console中会出现两次请求,第一次返回200,下载的数据缓存在chrome的cache中,第二次返回304,直接从本地获取到下载的数据。查看服务器log,的确返回了两次数据。经过很长时间的定位与搜索,终于找到了问题的原因——rails4.0中引入了turbolink技术——当网页改变时,不会刷新整个页面而是直接替换掉html中的head和body——也就是说切换页面时不会看到浏览器的刷新操作。

在启用turbo的情况下,send_data是不能正常下载的,文件会总是在浏览器打开,解决方法便是禁用它。

解决方法:

在views中的haml文件中禁用turbolink。

link_to "下载", download_app_path(id), class: "btn btn-sm btn-primary", 'data-no-turbolink' => true

最新文章

  1. 2016huasacm暑假集训训练四 递推_C
  2. 代写assignment
  3. sphinx :undefined reference to `libiconv' 报错解决办法
  4. 深入浅出设计模式——组合模式(Composite Pattern)
  5. List对象分组排序算法
  6. 制作Linux下程序安装包——使用脚本打包bin、run等安装包
  7. 使用rgba色实现背景色透明
  8. sql盲注及其相关方法
  9. [DP] Rod-cutting problem
  10. (3)markdown软件的使用
  11. memcache搭建
  12. 二、OpenStack—keystone组件介绍与安装
  13. Chapter 1 An Overview of Computers and Programming Languages
  14. 【收藏】ETH以太坊各个环境的公共的RPC服务!!!
  15. iOS实现图片裁剪功能,基于TKImageView完善与讲解
  16. iOS逆向之TheOS
  17. [POI2011]Rotacje na drzewie (2)/[BZOJ3702]二叉树
  18. JAVA——泛型类和泛型方法(静态方法泛型)
  19. 基于jQuery实现的腾讯互动娱乐网站特效
  20. Android Studio中R报错(cnanot resolve symbol R)

热门文章

  1. Eclipse IDE下的Spring框架使用简单实例
  2. vue中回到顶部
  3. UTF-8字符「EF BF BD」-备胎
  4. UVA 111(LCS问题)
  5. 【其它算法】Face The Right Way
  6. BZOJ 1115 [POI2009]石子游戏Kam(阶梯博弈)
  7. Ubuntu 16.04下没有/var/log/messages文件问题解决
  8. Ubuntu 16.04重启Nautilus
  9. 一种计算MD5的实现方法
  10. (转)探索C++的秘密之详解extern "C",这就是为什么很多.lib被我们正确调用确总是无法解析的。