【发布时间】:2015-05-08 09:00:15
【问题描述】:
如何在 Rails 4.2 中使用这个新的 Turbolinks 3.0(分支:'master')?
我正在尝试,但我从 Chrome 收到此错误:
Uncaught SyntaxError: Unexpected token :
如果我像这样使用部分替换:
<%= link_to "Something", root_path %>
然后在同一页面中:
<script> Turbolinks.visit(url, { change: 'areaDiv' }); </script>
根据文档:https://github.com/rails/turbolinks#partial-replacements-with-turbolinks-30
页面完全重新加载,我收到了那个错误。怎么办?
后天编辑
我有 Rails 4.2.1 标准。
在 Gemfile 中我添加了:
gem 'turbolinks', :github => 'rails/turbolinks', :branch => 'master'
现在我有一个控制器:
def ok_category
render plain: "Ok", change: 'categoriesdiv'
end
或者这个:
def red_category
redirect_to "http://www.google.com", change: 'categoriesdiv'
end
或其他类似的:
def red_category
render partial: 'category_choose', change: 'categoriesdiv'
end
如果我在每一行的末尾添加, turbolinks: true,什么都没有!
我的 chrome 窗口的标题正在更改为简洁的“未定义”,但如果我使用 Chrome 开发人员工具,它会在“网络”选项卡中告诉我,对服务器的请求已通过“GET”方法完成,“304” status, "Text/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>
我怎么了?
【问题讨论】:
-
你的脚本是如何被触发的?
标签: ruby-on-rails ruby ruby-on-rails-4 turbolinks