Rails turbolinks 问题

naitnix · 2014年03月24日 · 最后由 naitnix 回复于 2014年03月24日 · 3376 次阅读

最近在写一个项目,用 Rails4 写的,也是第一次使用 Rails4,之前关于它的传说也看了些,这次刚好遇到一个问题,就是关于 turbolinks 的。

据我所知,turbolinks 原理是监听页面的 click 事件,然后异步的去后台取得数据,然后替换掉 body 中的内容,并更改链接地址信息,这样就可以不用重新加载 js 和 css 资源,从而达到加快请求速度的目的,挺好。

遇到的问题:我在 application.js 和 application.css 里面将这句 (require_tree .) 删除了,目的是想在不同的页面加载不同的 css 和 js 资源,而那些与当前页面不相关的 css 和 js,我都不加载,一切看起来正常。但是当我随便点击页面的某个链接而来到新的页面的时候,发现这个页面的样式不对,就是因为相关的 css 没有改变。因为 turbolinks 这个时候没有再去更新 js 和 css 资源。

问题:turbolinks 对于这样的做法不支持?如果这种做法可以的话,类似与我这样的情况,应该怎样解决呢?希望大家给出建议,谢谢!

这种情况为什么还要用 turbolinks 呢?这种设计本来就是为了减少加载 css 和 js 如果有公共大量部分 css 和 js 只有少量需要动态加载的 可以在 pageinit 里面写 js 动态加载

每页不同的 CSS 文件…意义不大吧………

它的目的不就是让你不用每次都重新加载 CSS……

嗯,谢谢楼上两位的回答,目前的情况确实是没必要用 turbolinks,谢谢!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号