2012-02-11 18 views
9

रेल के साथ बूटस्ट्रैप 2.0 चहचहाना का उपयोग कर 3.2 (आस्तियों/स्टाइलशीट में सीएसएस फ़ाइलें, कम या सास अभी उपयोग कर नहीं)बूटस्ट्रैप चेतावनी बर्खास्तगी काम नहीं कर रहा, रेल 3.2

मैं शीर्ष पर एक बूटस्ट्रैप स्टाइल त्रुटि या सफलता चेतावनी है अपनी स्क्रीन की (संदेश == "त्रुटि" के लिए कि क्या पहला शब्द पर आधारित है। मैं/संपत्ति को शामिल किया है 'bootstrap.js' & 'बूटस्ट्रैप-alert.js' जावास्क्रिप्ट फ़ोल्डर।

यहाँ कोड है मेरे लेआउट में:

<% flash.each do |name, msg| %> 
    <% if msg[0..4] == "Error" %> 
    <div class="alert alert-error fade in"> 
    <% else %> 
    <div class="alert alert-success fade in"> 
    <% end %> 
    <a class="close" data-dismiss="alert" href="#">&times;</a> 
    <%= msg %> 
<% end %> 

मेरी संपत्ति/जावास्क्रिप्ट/application.js में मेरे पास है:

$(".alert-message").alert() 
$(".alert-message").alert('close') 

सुनिश्चित नहीं है कि मुझे दोनों की आवश्यकता है? .alert/.alert-error के साथ भी कोशिश की।

कुछ भी नहीं होता है जब मैं नज़दीकी प्रतीक पर क्लिक करता हूं, मुझे यकीन है कि मुझे कुछ बहुत याद आ रही है, लेकिन मैं जेएस/डब्ल्यू रेल का उपयोग करने के लिए नया हूं, इसे समझ नहीं सकता। कोई सुझाव के लिए

Uncaught TypeError: Object [object Object] has no method 'on'

बहुत धन्यवाद: क्रोम जे एस कंसोल में मैं यह त्रुटि संदेश है, जो बूटस्ट्रैप-alert.js डेटा-api के बारे में हो रहा है देखो!

+0

इस प्रश्न पर 'सबमिट' पर क्लिक करने के बाद सेकंड्स आपको समस्या का एहसास है ... समस्या जावास्क्रिप्ट फ़ोल्डर में 'jquery.js' और 'jquiery-ui.js' होने के कारण हुई थी, इसमें क्लैशिंग नाम/कक्षाएं। Jquiery फ़ाइलों को हटाने के बाद पेज लोड करने पर जेएस त्रुटि गायब हो गई और अलर्ट-बर्खास्तगी अब काम करता है ... d'oh – bobomoreno

+0

आपको इसे एक उत्तर के रूप में जोड़ना चाहिए और इसे स्वीकार करना चाहिए :) – Pierre

उत्तर

4

टिप्पणियों में कहा गया है, समस्या जावास्क्रिप्ट फ़ाइलों को प्रतिस्पर्धा करने के कारण हुई है।

समस्या जावास्क्रिप्ट फ़ोल्डर में 'jquery.js' और 'jquery-ui.js' होने के कारण हुई थी, इसमें नामकरण/कक्षाएं होनी चाहिए।

jQuery हटाने के बाद फाइलें js पेज और सूचना-बर्खास्तगी लोड हो रहा है पर त्रुटि गायब हो गया अब काम करता है

16

मैं एक ही मुद्दा था, और अपने जवाब bobomoreno को देखा है, लेकिन यह काम नहीं किया। बाद में मुझे पता चला कि बूटस्ट्रैप का नवीनतम संस्करण jQuery 1.7.x की आवश्यकता है और jQuery के पुराने संस्करणों के साथ काम नहीं करता है।

+2

धन्यवाद! मुझे परेशानी और समय का एक टन बचाया: डी – rjha94

+1

मैंने अपने जेमफाइल को 'मणि jquery-rails ~>' 2.0 '' निर्दिष्ट करने के लिए अद्यतन किया (जो कि जेक्यू 1.7.एक्स हो जाता है) लेकिन अभी भी बंद करने की घटना को आग लगाना नहीं है। :-( –

+0

मुझे रेल के बारे में कुछ भी पता नहीं है, लेकिन क्या आपने क्लाइंट संदर्भ को नए jQuery संस्करण को इंगित करने के लिए भी अपडेट किया है? – Dofs

6

मुझे एक ही समस्या थी - अलर्ट बर्खास्तगी मेरे लिए काम नहीं करती थी। समाधान bobomoreno के समान था, लेकिन वही नहीं। मेरे पास कुछ कस्टम सामान के साथ app/assets/javascripts/bootstrap.js.coffee फ़ाइल थी, जिसे बूटस्ट्रैप की जावास्क्रिप्ट के बजाय आवश्यक था। मैंने इसे bootstrap-custom.js.coffee पर नाम बदलकर तय किया, इसलिए बूटस्ट्रैप की फ़ाइलों को उचित रूप से आवश्यक था।

+1

यह मेरा जवाब था, और यह वास्तव में समझ में आता है। Jquery और jquery संस्करणों के आसपास घूमना एक लाल हेरिंग है। – steakchaser

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