Turbolinks的故障排除

时间:2013-07-16 20:52:27

标签: ruby-on-rails turbolinks

我在Rails 3中有一个遗留项目。升级到Rails 4时,我想测试turbo链接,但似乎无法使其正常工作。我添加了' turbolinks' gem到Gemfile bundle install,并将//= require turbolinks添加到app/assets/javascripts/application.js,然后重新启动服务器。

从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>

1 个答案:

答案 0 :(得分:1)

查看此Turbolinks screencast

整个页面仍然呈现并返回到浏览器,但只替换了正文。

您可以通过两页检查以确保它们正常工作。应该加载,但是当你检查页面的标题时,它不应该包含测试javascript文件。如果它仍然不起作用,请告诉我们。

Page 1

<html>
  <title>Page 1</title>
  <body>
    <h1>Page 1</h1>
    <a href="/page2">Page 2</a>
  </body>
</html>

第2页

<html>
  <title>Page 2</title>
  <script type="text/javascript" src="test.js"></script>
  <body>
    <h1>Page 2</h1>
  </body>
</html>