2012-09-21 13 views
7

शामिल करें मैं एक jQuery प्लगइन जैसे जावास्क्रिप्ट लाइब्रेरी का उपयोग करना चाहता हूं। क्या मैं रेल संपत्ति परिसंपत्ति पाइपलाइन का उपयोग करता हूं? या मुझे इसे javascript_include_tag के साथ शामिल करना चाहिए? मेरे विकल्प क्या हैं और अनुशंसित अभ्यास क्या है?रेल: बाहरी जावास्क्रिप्ट

उत्तर

24

क्या आप जावास्क्रिप्ट लाइब्रेरी का उपयोग केवल कुछ पृष्ठों या पूरे एप्लिकेशन पर करेंगे? यदि आप इसे पूरे एप्लिकेशन में उपयोग करेंगे, तो इसे विक्रेता/संपत्ति/जावास्क्रिप्ट फ़ोल्डर में जोड़कर संपत्ति पाइपलाइन का उपयोग करें। यदि आप एक पृष्ठ पर लाइब्रेरी का उपयोग करने की योजना बना रहे हैं, तो javascript_include_tag का उपयोग करें।

यहाँ अंगूठे का नियम रेल में जावास्क्रिप्ट के आपके उपयोग मार्गदर्शन करने हैं:

  • तार्किक रूप से एप्लिकेशन/आस्तियों/javascripts/ फ़ोल्डर में अपनी साइट चौड़ा लिपियों का आयोजन।

  • विक्रेता/संपत्ति/जावास्क्रिप्ट फ़ोल्डर में बाहरी जावास्क्रिप्ट पुस्तकालयों (जैसे jQuery प्लगइन्स) की प्रतिलिपि बनाएँ।

  • ऐप/संपत्ति/जावास्क्रिप्ट/application.js मेनिफेस्ट में साइट-व्यापी स्क्रिप्ट सूचीबद्ध करें।

  • रेल की संपत्ति पाइपलाइन उन्हें सभी को एक न्यूनतम application.js फ़ाइल में गठबंधन करने दें।

  • कुछ पृष्ठों पर उपयोग की जाने वाली स्क्रिप्ट के लिए, पृष्ठ-विशिष्ट जावास्क्रिप्ट के रूप में लोड करें।

  • पेज-विशिष्ट जावास्क्रिप्ट को lib/assets/javascripts फ़ोल्डर में रखें।

के लिए पृष्ठ-विशिष्ट जावास्क्रिप्ट, ध्यान में रखते हुए आवेदन लेआउट में <%= yield(:head) %> और <% content_for :head ... %> का उपयोग करें।

सभी विवरण के साथ एक पूर्ण विवरण के लिए, मेरे लेख देखें:

Including External JavaScript Files in Rails

+1

पेज-विशिष्ट जेएस ऐप/संपत्ति/में जाना चाहिए, जो आपके विचारों के समान निर्देशिका संरचना के साथ व्यवस्थित है। lib/नाममात्र रूप से अनुप्रयोगों में साझा संपत्तियों के लिए है – klochner

2

एक एकल फाइल पर जावास्क्रिप्ट का उपयोग करने के लिए, javascript_include_tag सबसे अच्छा विकल्प है।

इसके साथ आप जो भी कर सकते हैं उसके साथ '' को 'config/initializers/assets.rb' फ़ाइल में भी जोड़ें।

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