首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 4,Turbolinks 3,部分替换

Rails 4,Turbolinks 3,部分替换
EN

Stack Overflow用户
提问于 2015-05-08 09:00:15
回答 2查看 3.2K关注 0票数 5

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

我试着从Chrome那里得到这个错误:

未登录的SyntaxError:意想不到的令牌:

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

代码语言:javascript
运行
复制
<%= link_to "Something", root_path %>

然后在同一页:

代码语言:javascript
运行
复制
<script> Turbolinks.visit(url, { change: 'areaDiv' }); </script>

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

页面被重新加载,我得到了那个错误。怎么做?

编辑的第二天

我有Rails 4.2.1标准。

在Gemfile中,我添加了:

代码语言:javascript
运行
复制
gem 'turbolinks', :github => 'rails/turbolinks', :branch => 'master'

现在我有一个控制器:

代码语言:javascript
运行
复制
def ok_category
      render plain: "Ok", change: 'categoriesdiv'
  end

或者这个:

代码语言:javascript
运行
复制
 def red_category
      redirect_to "http://www.google.com", change: 'categoriesdiv'
  end

或者像这样的另一个:

代码语言:javascript
运行
复制
def red_category
      render partial: 'category_choose', change: 'categoriesdiv'
  end

另外,如果我在每一行的末尾添加, turbolinks: true,什么都不会!

我的chrome窗口的标题在一个简洁的“未定义”中更改,但是如果我使用Chrome developer工具,它在"Network“选项卡中对我说,对服务器的请求是用"GET”方法、"304“状态、"Text/Javascript”类型完成的,所有这些都没有错误。

在application.html.erb中有:

代码语言:javascript
运行
复制
<!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>

我做错什么事了?

EN

回答 2

Stack Overflow用户

发布于 2015-05-08 11:10:08

Turbolinks是个棘手的问题,不管是哪种方式,这里都是值得花些时间的资源。我看到你写什么和怎么做之间有细微的语法区别。

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

票数 1
EN

Stack Overflow用户

发布于 2015-05-09 10:11:53

在使用link_to时,remote参数告诉rails使用turbolinks来跟踪链接,所以我认为您需要remote: true

您还需要添加您的更改区域,我不确定这一点,但我会选择这样的方法:

代码语言:javascript
运行
复制
<%= link_to "Something", root_path, remote: true, { :change => 'areaDiv' } %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30119821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档