我在Rails 3中有一个遗留项目。升级到Rails 4时,我想测试turbo链接,但似乎无法使其工作。我已将“turbolinks”宝石添加到Gemfile中,并且将//= require turbolinks
添加到app/assets/javascripts/application.js
,然后重新启动服务器。故障排除Turbolinks
从Chrome中的网络请求活动可以看出,所有页面仍会进行整页刷新。
编辑:我跟着其中一个答案中建议的小Turbolinks测试。我添加了一个空白的演示控制器,以及page1,page2的视图。如果Turbolinks正常工作,turbolinks应该被视为网络请求的发起者,并且test.js不应该被加载。
这个小例子失败,因为test.js正在尝试加载,整个页面刷新,并且启动程序仍然不turbolinks。
page1.html.erb
<html>
<title>Page 1</title>
<body>
<h1>Page 1</h1>
<a href="/test_turbo/page2">Page 2</a>
</body>
</html>
page2.html.erb
<html>
<title>Page 2</title>
<script type="text/javascript" src="test.js"></script>
<body>
<h1>Page 2</h1>
</body>
</html>
'test.js'被加载,所以不被使用Turbolinks。我把它放在演示控制器中,并将page1.html.erb和page2.html.erb添加到视图中。该应用程序现在没有使用资产管道,这是否与此有关? – John
想通了。在dev env中,资产正在从public/assets/application.js中错误加载,而不是从'app/assets/javascripts/application.js'加载turbolinks。 – John