导轨4,Turbolinks 3,部分更换

5 ruby ruby-on-rails turbolinks ruby-on-rails-4

如何在Rails 4.2中使用这个新的Turbolinks 3.0(分支:'master')?

我正在尝试,我从Chrome获得此错误:

未捕获的SyntaxError:意外的令牌:

如果我使用这样的部分替换:

<%= link_to "Something", root_path %>
Run Code Online (Sandbox Code Playgroud)

然后在同一页面中:

<script> Turbolinks.visit(url, { change: 'areaDiv' }); </script>
Run Code Online (Sandbox Code Playgroud)

根据文档:https://github.com/rails/turbolinks#partial-replacements-with-turbolinks-30

该页面完全重新加载,我收到了该错误.怎么做?

编辑后的一天

我有Rails 4.2.1标准.

在Gemfile中我添加了:

gem 'turbolinks', :github => 'rails/turbolinks', :branch => 'master'
Run Code Online (Sandbox Code Playgroud)

现在我在一个控制器中:

def ok_category
      render plain: "Ok", change: 'categoriesdiv'
  end
Run Code Online (Sandbox Code Playgroud)

或者这个:

 def red_category
      redirect_to "http://www.google.com", change: 'categoriesdiv'
  end
Run Code Online (Sandbox Code Playgroud)

或者像这样:

def red_category
      render partial: 'category_choose', change: 'categoriesdiv'
  end
Run Code Online (Sandbox Code Playgroud)

如果我, turbolinks: true在每一行的末尾添加,也没有!

我的chrome窗口的标题正在以简洁的"未定义"进行更改,但如果我使用Chrome开发人员工具,它会在"网络"标签中向我说,对服务器的请求已完成"GET"方法,"304"状态,"文本/ Javascript"类型,所有没有错误.

在application.html.erb中我有:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hello!</title>
  <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track' => true %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
  <%= csrf_meta_tags %>
</head>
<body>
<div class="container">

<div id="test"><%= Time.now.to_s %></div>
<div id="links"><%= link_to "Testmylink", ok_category_path(1), remote:true %></div>

<%= yield %>

<div id="categoriesdiv" data-turbolinks-temporary>Yes yes!</div>
<footer class="footer">
  <p class="text-center">Hello!</p>
</footer>
</div>
</body></html>
Run Code Online (Sandbox Code Playgroud)

我是怎么了?

小智 1

Turbolinks 很棘手,无论哪种方式,这里都是值得花一些时间的资源。我发现你写的内容和如何做之间存在细微的语法差异。

https://github.com/rails/turbolinks/issues/448