0

我在 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>
4

1 回答 1

1

查看此Turbolinks 截屏视频

整个页面仍然被渲染并返回给浏览器,但只替换了正文。

您可以通过两页来检查以确保它们正常工作。第 2 页应该加载,但是当您检查页面的标题时,它不应包含测试 javascript 文件。让我们知道它是否仍然无法正常工作。

第 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>
于 2013-07-16T21:06:37.333 回答