2012-07-07 7 views
9

मैंने अभी JQuery, jQuery Air: First Flight पर Code School's परिचय पाठ्यक्रम समाप्त किया है। यह jQuery की मूल बातें सीखने का एक शानदार तरीका था और जब मैं किया गया था तो मैं अपने नए छोटे रेल 3.2 एप में कुछ jQuery जोड़ने के बारे में उत्साहित था। ऐसा करने के लिए कैसे स्पष्ट नहीं है, हालांकि।रेलवे 3.2 ऐप में JQuery या जावास्क्रिप्ट (कॉफी.script नहीं) कोड जोड़ना?

डिफ़ॉल्ट रूप से, रेल 3.2 में jquery-rails और कॉफी-रेल रत्नों के साथ आता है। नए 3.2 ऐप्स सभी कॉफी-स्क्रिप्ट के रूप में जावास्क्रिप्ट और jquery स्वीकार कर रहे हैं। जबकि मैं जल्द ही कॉफी-स्क्रिप्ट सीखूंगा, अभी मुझे जो कुछ मिला है वह jquery है। मेरी app/views/layouts/application.html.erb फ़ाइल के सिर में

<script type="text/javasript" src= "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

या jQuery-रेल मणि की है कि सभी लिया देखभाल और

<%= javascript_include_tag "application" %> 
पहले से ही वहाँ

है:

अधिक विशेष रूप से, मैं की तरह कुछ जोड़ना चाहिए?

मेरे ऐप में मैं jQuery कोड कहां डालूं? मेरे द्वारा उत्पन्न हर नए नियंत्रक के साथ, रेल 3.2 app/assets/javascripts/ निर्देशिका में एक अच्छी [new_controller].js.coffee फ़ाइल बनाता है। यदि मैं इसे .coffee फ़ाइल में डालता हूं तो जावास्क्रिप्ट काम नहीं करता है। किसी के पास कोई विचार है?

उत्तर

11

आसपास प्रयोग किया और Code School में अच्छा लोगों के साथ पत्राचार किया, मैं उपयोगी लग सकती दूसरों के साथ निम्नलिखित जवाब के साथ आ गया है:

रेल 3.2 क्षुधा तैयार coffeescript स्वीकार करने के लिए बनाया है। दरअसल, प्रत्येक नया नियंत्रक स्वचालित रूप से एक [new_controller] .js.coffee फ़ाइल उत्पन्न करता है जो किसी की नई कॉफ़ीस्क्रिप्ट को स्वीकार करने के लिए तैयार होता है। जबकि मैं जल्द ही पर्याप्त कॉफ़ीस्क्रिप्ट प्राप्त करूंगा, बस JQuery Air: First Flight समाप्त कर चुका हूं, मुझे पता है कि jQuery है।

1) app/views/layouts/application.html.erb फ़ाइल में javascript_include_tag(:application) रखें:

यहाँ एक डिफ़ॉल्ट, परिसंपत्ति पाइपलाइन सेटिंग्स के साथ किसी के रेल 3.2 अनुप्रयोग के लिए jQuery जोड़ने के लिए क्या करने की जरूरत है। कोड स्कूल के एडम फोर्टुना ने नोट किया कि उस लाइन को उस पाद लेख में रखना सामान्य है जो अच्छी सलाह की तरह लगता है। यह शायद शेष पृष्ठ को जावास्क्रिप्ट से पहले लोड करने की अनुमति देता है।

2) 'ऐप/संपत्ति/जावास्क्रिप्ट /' निर्देशिका में प्रत्यय .js के साथ एक नई फ़ाइल बनाएं जो मेरे मामले में user.js. थी।नोट: अपने jQuery को स्वचालित रूप से बनाई गई .js.coffee फ़ाइल के समान फ़ाइल नाम न दें या यह नहीं पढ़ा जाएगा, संभवतः क्योंकि केवल कॉफ़ीस्क्रिप्ट फ़ाइल ही होगी।

3) अपनी फ़ाइल की जावास्क्रिप्ट को उस फ़ाइल में अपने दिल की सामग्री में जोड़ें! यह पहले से ही आपके 3.2 ऐप का हिस्सा है, जिसमें jquery-rails मणि शामिल है।

यदि दूसरों को रेल 3.2 एप में कॉफी-स्क्रिप्ट के बजाय jquery और जावास्क्रिप्ट का उपयोग करने की अंतर्दृष्टि है, तो कृपया जोड़ें। उसने कहा, मेरा अगला कदम कॉफी-स्क्रिप्ट सीखना है!

1

आपको कुछ भी करने की आवश्यकता नहीं है। रेल आपको डिफ़ॉल्ट रूप से jquery मिल जाएगा। अगर आपकी फाइल का विस्तार कॉफी नहीं है तो आपको कॉफ़ीस्क्रिप्ट का उपयोग करने की आवश्यकता नहीं होगी।

आप जादू को बेहतर ढंग से समझने के लिए this पढ़ सकते हैं।

आप अपने खुद के जोड़ना होगा, तो आप इस तरह कुछ लिख सकते हैं:

<%= javascript_include_tag "http://example.com/main.js" %> 

पढ़ें this कैसे javascript_include_tag काम करता है समझने के लिए।

+0

मेरी भलाई एसओ समुदाय तेज़ है! 9 मिनट में मुझे अपने प्रश्न का उत्तर देने के लिए लिया - कोडस्कूल समर्थन के साथ काम करने वाले एक दिन में बिताए - 3 लोगों ने भी इस सवाल का जवाब दिया था! बहुत बहुत धन्यवाद। मैं अब बेहतर समझता हूँ। अगली बार मैं एसओ से शुरू करता हूं। – BenU

0

सुनिश्चित करें कि //= require jquery एप्लिकेशन.जेएस या application.js.coffee का शीर्ष है और यदि आपके पास jquery-rails मणि स्थापित है तो आपको अच्छा होना चाहिए।

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