2015-05-08 2 views
5

Как использовать этот новый Turbolinks 3.0 (отрасль: «мастер») с Rails 4.2?Rails 4, Turbolinks 3, Partial Replacement

Я пытаюсь и я получил от Chrome этой ошибки:

Uncaught SyntaxError: Неожиданное фишку:

Если я использую частичную замену, как это:

<%= 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, он говорит мне на вкладке «Сеть», что запрос на сервер завершен методом «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> 

Что со мной?

+0

Как ваш сценарий получить срабатывает? – jcuenod

ответ

1

Turbolinks сложно, в любом случае это ресурс, который стоит потратить некоторое время. Я вижу небольшую синтаксическую дифференциацию между тем, что вы пишете и как это делают.

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

+0

Это проблема Github. В Readme (doc) в доме они опубликовали правильную версию синтаксиса, которую я уважаю.Это просто не работает. –

0

При использовании link_to параметра remote говорит рельсы использовать turbolinks следовать по ссылке, так что я думаю, что вам нужно remote: true.

Кроме того, необходимо добавить область изменения, я не уверен, что немного, но я хотел бы пойти на что-то вроде этого:

<%= link_to "Something", root_path, remote: true, { :change => 'areaDiv' } %> 
+0

Это не работает. –

+0

Это не очень описательно ... – jcuenod

+0

синтаксическая ошибка, неожиданный ')', expecting => ... change => 'areaDiv'}); –

Смежные вопросы