2011-12-20 13 views
6

के साथ गुम rails.js मैं रेल 3.1 के लिए नया हूँ और हाल ही में एक परियोजना शुरू की। मेरे Gemfile तो जैसे jQuery-रेल शामिल हैं:jquery-rails

gem 'jquery-rails' 

और वास्तव में, मैं सत्यापित किया है कि यह वर्तमान में मेरे वर्तमान RVM gemset में (संस्करण 1.0.19) है (gem list का उपयोग)।

मैं अजाक्स सक्षम रूपों में प्राप्त करने के लिए शुरू किया, और Googling से विभिन्न लेख और पदों पढ़ने से, ऐसा लगता है कि मैं अपने javascripts फ़ोल्डर में एक फ़ाइल rails.js कहा जाता है माना जाता रहा हूँ (मुझे लगता है इस assets/javascripts/ है, और मैं डिफ़ॉल्ट संपत्ति पाइपलाइन का उपयोग कर रहा हूँ)।

मेरा प्रश्न वास्तव में दो भागों शामिल है:

  1. मैं bundle install के बाद भी अपने प्रोजेक्ट में एक rails.js फ़ाइल नहीं मिल सकी, इसलिए मैं https://github.com/rails/jquery-ujs से डाउनलोड और मेरे assets/javascripts/ फ़ोल्डर में रख दिया। क्या यह सही काम है?

  2. rails.js सहित, मेरा अजाक्स फॉर्म अब तीन बार प्रस्तुत करता है। आगे की जांच के बाद ऐसा प्रतीत होता है जैसे मेरी सभी जावास्क्रिप्ट (या jquery ???) को तीन बार बुलाया जा रहा है। जब मैं किसी ऑब्जेक्ट के लिए "नष्ट" लिंक पर क्लिक करता हूं (जब आप rails g scaffold something पर उत्पन्न होते हैं), पुष्टिकरण पॉप-अप तीन बार भी आता है। rails.js फ़ाइल को हटाने से इस समस्या को भी हटा दिया जाता है।

कोई भी मदद या सलाह की सराहना की जाएगी ... मैं घंटों तक Google और SO के आसपास खोज कर रहा हूं, और कहीं भी नहीं मिला है। धन्यवाद!

उत्तर

14

jquery-rails मणि के अंदर से jquery और jquery_ujs परोसता है। आपको इन फ़ाइलों को संपत्ति/जावास्क्रिप्ट में कॉपी करने की आवश्यकता नहीं है।

सुनिश्चित करें कि आप javascripts/application.js में इन दो पंक्तियों किया हुआ है:

//= require jquery 
//= require jquery_ujs 

और अपने लेआउट में javascript_include_tag 'application' है।

+1

आप एक जीवन बचतकर्ता हैं। डिफ़ॉल्ट रूप से 'एप्लिकेशन' के बजाय वहां है: डिफ़ॉल्ट! और उस jQuery फ़ाइलों की वजह से ब्राउज़र पर लोड नहीं होता है। – Peymankh