2015-05-08 19 views
5

Bu yeni Turbolinks 3.0 (branch: 'master') Rails 4.2 ile nasıl kullanılır?Raylar 4, Turbolinks 3, Kısmi Değişim

deniyorum ve Chrome'dan bu hata var: Böyle kısmi değiştirme kullanırsanız

: o zaman

<%= link_to "Something", root_path %> 

ve aynı içinde

Yakalanmayan SyntaxError: Beklenmedik belirteç sayfa:

<script> Turbolinks.visit(url, { change: 'areaDiv' }); </script> 

docs göre: https://github.com/rails/turbolinks#partial-replacements-with-turbolinks-30

Bu sayfa tamamen yüklenmiştir ve bu hatayı aldım. Nasıl yapılır?

DÜZENLEME Ben Raylar 4.2.1 standart var

SONRA GÜN. Gemfile yılında

ekledim:

gem 'turbolinks', :github => 'rails/turbolinks', :branch => 'master' 

Şimdi tek denetleyici I vardır: böyle

def red_category 
     redirect_to "http://www.google.com", change: 'categoriesdiv' 
    end 

veya başka:

def ok_category 
     render plain: "Ok", change: 'categoriesdiv' 
    end 

ya da belki bu

def red_category 
     render partial: 'category_choose', change: 'categoriesdiv' 
    end 

Ayrıca, her satırın sonuna , turbolinks: true eklediğimde, NOT!

Chrome penceremin başlığım, laconic "undefined" olarak değişiyor, ancak Chrome geliştirici aracını kullanırsam, "Network" sekmesinde, "GET" yöntemiyle sunucunun isteğinin tamamlandığını bana bildirir "304 "status," Text/Javascript "türü, hepsi hatasız. application.html.erb olarak

Ben:

<!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> 

Benim neyim nedir?

+0

nasıl komut tetikleyen alır? – jcuenod

cevap

1

Turbolinks zor, ya burada bir zamanlar harcamaya değer bir kaynak. Yazdıklarınızla nasıl yaptığınız arasında küçük bir sözdizim farklılaşması görüyorum.

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

+0

Bu, Github'daki bir sorundur. Readme'de (doc) evdeki doğru sözdizim sürümünü yayınladılar, saygı duyuyorum.Sadece işe yaramıyor. –

0

remote parametresini link_to kullanarak Sana remote: true gerektiğini düşünüyorum bu yüzden bağlantıyı takip etmek turbolinks kullanmak rayları söyler.

Ayrıca değişim alanı eklemeniz gerekir

, bunu biraz hakkında kesin değilim ama böyle bir şey için giderdim:

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

Çalışmıyor. –

+0

Çok açıklayıcı değil ... – jcuenod

+0

sözdizimi hatası, beklenmedik ')', bekliyor => ... change => 'areaDiv'}); –