我正在使用Rails 4.0.0和Ruby 2.0.0创建我的Rails 3.2.13应用程序的新版本。我使用Michael Hartl的最新版本Ruby On Rails Tutorial作为指南。我不熟悉一些诸如Turbolinks之类的宝石。
我有几个网站的视图以及application.html.erb中都有JavaScript。在某些情况下,首次显示视图时脚本会起作用。其他时间,页面将显示,不执行任何脚本。发生这种情况时,我会刷新页面,所有脚本都可以工作。使用“新” Twitter小部件和“天气频道”的小部件时常也会发生这种情况。
这是application.html.erb中的内容:
<%= stylesheet_link_tag "application", media: "all",
"data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
我在视图中没有更改任何其他代码。当我运行Rails 3版本时,我的脚本在最初显示视图时执行。但是,当我运行Rails 4版本时,必须在执行之前用脚本刷新大多数页面。
任何帮助将不胜感激。
我一直在网上寻找答案,但是在我发布此问题之前,我决定再次检查。我终于找到了一篇帖子,指出有时使用Turbolinks和JavaScript会有冲突。建议的解决方案是在application.js中不需要涡轮链接。
//= require turbolinks
当我从application.js中删除该语句时,我的脚本的工作方式与我的应用程序的Rails 3版本中的工作相同。