2015-08-21 3 views
7

मैं रूबी का उपयोग कर रहा ऑन रेल्स 5 काम करते हैं और टर्बो लिंक का उपयोग नहीं किया जैसा कि नीचे दिखाया:रूबी ऑन रेल्स 5 - Turbolink 3 सही ढंग से

<%= javascript_include_tag 'custom-plugins', 'data-turbolinks-track' => true %> 

यह रूबी पर रेल 4 लेकिन मुद्दे के साथ ठीक काम कर रहा है रेल संस्करण 5 पर रुबी के साथ। एक बार जब मैं वापस क्लिक करता हूं तो जेएस/सीएसएस सही तरीके से लोड नहीं होता है।

किसी भी मदद की सराहना की जाएगी।

+1

क्या आप वास्तव में कहने के लिए लोड नहीं कर रहे हैं? –

+0

मैं अपनी साइट www.example.com खोलता हूं -> सब कुछ ठीक मैं एक और पेज खोलता हूं -> www.example.com/xyz फिर बैक बटन पर क्लिक करें, अब पृष्ठ सही ढंग से प्रस्तुत नहीं करता है। –

+0

का मतलब है कि पृष्ठ प्रतिपादन काम नहीं कर रहा है? या जेएस फ़ंक्शन लोड नहीं हो रहे हैं? –

उत्तर

2

-Rails 5 Awesome features

Turbolinks संदर्भित के रूप में, सुविधाओं है कि लोगों को यह या प्यार नफरत में से एक संस्करण 4 के बाद से रेल का हिस्सा रहा है शायद; यहां कोई मध्य मैदान नहीं है।

रेल 5 के साथ हमें एक नया संस्करण प्राप्त होगा कि, एचटीएमएल 5 कस्टम डेटा विशेषताओं की मदद से, हम अपने रेल अनुप्रयोगों में बेहतर गति और प्रतिपादन की उम्मीद करेंगे।

इस नए संस्करण में सबसे महत्वपूर्ण परिवर्तन आंशिक प्रतिस्थापन सुविधा है। क्लाइंट साइड से, हम टर्बोलिंक्स को बताने में सक्षम होंगे कि हमें किस सामग्री को बदलने/बदलने की जरूरत है और हम क्या नहीं करते हैं।

टर्बोलिंक्स HTML5 कस्टम विशेषताओं की तलाश करेंगे और हमारे प्रतिस्थापन रणनीति का निर्णय लेंगे।

क्लाइंट पक्ष में प्रतिस्थापन ट्रिगर करने के लिए हम इसका उपयोग या अपडेट कर सकते हैं। इसके बीच का अंतर यह है कि पहला एचटीएमएल प्राप्त करने के लिए सर्वर को जारी करेगा जिसका उपयोग हमारे एचटीएमएल से होने वाले उम्मीदों को बदलने के लिए किया जाना चाहिए जिसका उपयोग इसके संचालन के लिए किया जाना चाहिए।

दोनों कार्यों के साथ, हम एक हैश को या HTML तत्वों की एक सरणी के साथ पास कर सकते हैं या।

Action Result 
Turbolinks.visit(url, { change: ['entries'] }) Will replace any element with custom attribute and any element with its id listed in change. 
Turbolinks.visit(url) Will keep only elements with custom attribute and replace everything. 
Turbolinks.visit(url, { keep: ['flash'] }) Will keep only elements with custom attribute and any element with its id listed in keep, everything else will be replaced. 
Turbolinks.visit(url, { flush: true }) Will replace everything 

हम साथ सर्वर साइड से ही कार्यक्षमता को गति प्रदान कर सकते हैं और, दोनों प्राप्त कर सकते हैं, और विकल्प के रूप में, लेकिन यह भी साथ प्राप्त कर सकते हैं या के साथ या बिना Turbolinks एक रीडायरेक्ट मजबूर करने के लिए।

चाहे आप टर्बोलिंक्स पसंद करते हों या नहीं, यह एक अच्छा समय हो सकता है कि यह पता लगाने और पता लगाने के लिए कि यह आपके आवेदन में कहीं अच्छा फिट हो सकता है या नहीं।

+0

धन्यवाद sumit :) –

1

यह जेएस के साथ टर्बोलिंक के लिए एक आम घटना है। टर्बोलिंक्स एक विशेष पृष्ठ को बहुत तेज़ी से लोड करने में मदद करता है। लेकिन यह भी करता है कि जेएस कभी-कभी काम करने से रोकता है। इसलिए जब यह अपने लेआउट

<body <%= "data-no-turbolinks='true'".html_safe if controller_name=="example_controller" && action_name=="example_page" %>> 

में इस विशेष पेज उपयोग इस लाइन

<%= link_to "example_page", example_page_path, :"data-no-turbolink" => true %> 

या लिखने लोड हो रहा है इस विशेष पेज में काम करने से turbolink को रोकने के लिए।

संबंधित मुद्दे