2011-02-14 11 views
10

मेरी index.html.erb फ़ाइल में मैं अपने ऑब्जेक्ट ("लिस्टिंग") और सामान्य में शीर्षक प्रदर्शित करने की कोशिश कर रहा हूं "शो", "संपादित करें", और "नष्ट करें" लिंक और/या बटन। इसके साथ: विधि =>: हटाएं और: पुष्टि => "क्या आप निश्चित हैं?", न तो link_to या button_to जावास्क्रिप्ट पुष्टिकरण बॉक्स पेश करेगा। यहाँ मेरी index.html.erb है:रेल 3 - जावास्क्रिप्ट: लिंक_to और बटन_to के साथ काम नहीं करने की पुष्टि करें: विधि =>:

<h2><a href="#" onclick="alert('Hello world!'); return false;">Click Here for a Javascript test</a></h2> 
<table> 
    <tr> 
    <th>List Title</th> 
    <th></th> 
    <th></th> 
    <th></th> 
    </tr>  
<% @listings.each do |listing| %> 
    <tr> 
    <td><%= listing.title %></td> 
    <td><%= button_to 'Show', listing %></td> 
    <td><%= button_to 'Edit', edit_listing_path(listing) %></td> 
    <td><%= button_to('Destroy', listing, 
         :confirm => 'Are you sure?', :method => :delete)%> </td> 
    <td><%= link_to "Destroy", listing, :confirm => "Are you sure?", :method => :delete %> </td> 
    </tr> 
<% end %> 
</table> 

सूची के शीर्ष पर "नमस्ते विश्व" जे एस पुष्टिकरण लिंक पूरी तरह से काम करता है, तो मैं बहुत यकीन है कि विनीत जावास्क्रिप्ट मेरे ऐप के लिए ठीक काम कर रहा है कर रहा हूँ। (मैंने यह भी पुष्टि की है कि मेरे पास जरूरी है - javascript_include_tag: डिफ़ॉल्ट और csrf_meta_tag मेरे एप्लिकेशन टेम्पलेट में हैं।) रेल दस्तावेज उन तर्कों की पुष्टि करता है जिनका मैं उपयोग कर रहा हूं समर्थित हैं (url,: confirm,: method)। हालांकि, कोई भी बटन_to या link_to जेएस अलर्ट जेनरेट नहीं करेगा: पुष्टि करें। सटीक एक ही तर्क के साथ, अजीबता का एक और बिट, बटन_to एक लिंक हटा देगा जबकि link_to नहीं करता है।

इसे ठीक करने के लिए जांच करने के लिए किसी भी सुझाव की सराहना की जाएगी।

धन्यवाद!

+0

चेक 'आवेदन/config। आरबी' यह देखने के लिए कि क्या आप जेएस फाइल लोड कर रहे हैं, जो आपको लगता है कि आप डिफ़ॉल्ट हैं। (मैं हाल ही में थोड़ा सा था जब मैंने प्रोटोटाइप के बजाए jQuery का उपयोग करके रेल ऐप बनाने की कोशिश की थी। डिफ़ॉल्ट खाली थे।) – Telemachus

उत्तर

2

मैं इस सटीक मुद्दे में भाग गया जब मैं गलती से प्रोटोटाइप और jQuery दोनों सहित था। यह सुनिश्चित करने के लिए लोड हो रहे संसाधनों की जांच करें कि आप किसी भी तरह के ढांचे को लोड नहीं कर रहे हैं।

+1

पॉइंटर्स के लिए धन्यवाद। मैं एक रूबी घन हूँ, लेकिन थोड़ी सी गुगल के बाद, मैं बता सकता था कि मैंने वास्तव में कुछ जावास्क्रिप्ट कॉन्फ़िगरेशन समस्याएं हैं। 1) रेल अनुप्रयोग अनुप्रयोग निर्माता जो मैंने उपयोग किया है, मेरी jquery.js फ़ाइल को "सार्वजनिक/जावास्क्रिप्ट" फ़ोल्डर में डाल दिया है, लेकिन एक फ़ोल्डर कॉल jquery के भीतर (मुझे इसे एक स्तर पर ले जाना था।) 2) config/application.rb फ़ाइल दो जावास्क्रिप्ट विन्यास लाइनें थीं। मैंने एक हटा दिया और सुनिश्चित किया कि दूसरा उल्लिखित jquery.js फ़ाइल को इंगित करता है। उन सभी के साथ काम करने के लिए। –

1

AFAIK इस मुद्दे LINK_TO विकल्प जो समस्याओं का कारण बनता है जब उसके विधि (http विधि) प्राप्त के अलावा और कुछ है के कारण होता है, तो मैं जो ठीक

1

मैं सिर्फ एक ही मुद्दा में भाग काम करता है button_to विकल्प का उपयोग, नवीनतम तारीख तक उपलब्ध रेल, और की तरह, link_to तर्कों की html_options भाग को :confirm विकल्प ले जाकर इसे हल:

<%= link_to (t '.scenarios.open'), { :controller => 'scenarios', :action => 'show', :name => scenario.name }, :confirm => 'really?' %> 

दरअसल, jquery-rails मणि जरूरत है, लेकिन यह है कि एक पहले से ही यहाँ है और ठीक से जुड़ा हुआ था।

1

जांच करें कि रेल 'jQuery (jquery_ujs) के लिए विनीत पटकथा एडाप्टर अपनी साइट में लोड किए गए हैं, तो आप तीसरे पक्ष के javascripts बारे में चिंता करने की जरूरत नहीं है:

// app/assets/javascript/application.js  
//= require jquery_ujs 
+0

यह सही जवाब है :) – Ghoti

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