2016-07-31 33 views
0

头版视图( '欢迎/ index.html.erb'):https://github.com/bfbachmann/Blog/blob/master/app/views/welcome/index.html.erbTurbolinks不Rails应用程序忽略页

的Rails版本: 4.2.6

的首要问题:

我想让我的THREE.js模型在我的rails应用程序中正常显示。当我通过在浏览器的搜索栏中输入网址或者在键盘上点击重新加载或'命令'+ R(在Windows上'ctrl'+'R')加载页面时,一切正常。我有一种感觉,这是因为Turbolinks在执行这些操作时未被解雇。这使我的模型处于它应该处于的状态,如下所示。但是,当我点击导航栏中的链接之一(博客,项目,关于等等),然后通过单击房屋图标返回到主页,无论是模型的旋转速度加倍,还是模型是重复的。如果模型重复,则其中一个副本静止而另一个以其常规速度旋转,如下所示。

Broken Version Screenshot

我已经试过

我有一个强烈的感觉Turbolinks是应该为此负责。所以我试图让Turbolinks通过在该页面的主体中添加'data-no-turbolink'来忽略该页面......它不起作用。事实上,我认为Turbolinks甚至没有忽略页面,因为当我点击主页链接时,它比加载页面的URL时加载速度要快得多。

我试着添加一个回调,当用户离开页面时,停止运行首页的所有JavaScript负责运行。这可以在我链接顶部的视图中找到。我知道这个回调被解雇了,因为我测试了它。这也不能解决问题。

最后,我还应该提到,我使用JQuery-Turbolinks gem来解决两者之间的冲突。

任何帮助将不胜感激。我一直试图解决这个问题数周。

编辑:我忘记提及,我已经读过Turbolinks在内联javascript中存在问题......这可能会导致该问题。

编辑:看来我的JavaScript正在运行,每次我加载我的网站上的任何网页,即使它是内嵌的JavaScript。我不明白为什么。

回答

0

事实证明我是对的。 Turbolinks并没有忽略那个页面,因为我没有告诉它这样做是正确的。

本来我在页面的主体中导致了问题'data-no-turbolink = true'。事实证明,正确的方法是按照rails官方文档here中的说明添加'data-turbolinks = false'。