2012-03-05 14 views
23

मैं ऑन रेल्स 3 रूबी का उपयोग कर रहा हूँ और मैं करने के लिए अक्षम और CSS वर्ग टॉगल चाहते हैं एक form.submitजब प्रपत्र AJAX प्रस्तुत और AJAX HTTP अनुरोध के पूर्ण होने तक है की (मैं डिफ़ॉल्ट jQuery उपयोग कर रहा हूँ जावास्क्रिप्ट के लिए ढांचा)।एक फॉर्म सबमिट करने के तरीके को कैसे सबमिट करें "एक ला रूबी ऑन रेल्स वे"?

<%= form_for(@article, :remote => true) do |form| %> 
    ... 
    <%= form.submit(nil, {:id => 'button_id', :class => 'button_class'}) %> 
<% end %> 

मैं कैसे एक "आम"/"अच्छा"/"उचित" रास्ते में कर सकते हैं कि:

मेरे प्रपत्र पीछा कर रहा है?

उत्तर

42

रेल jQuery jQuery पुल (jquery_ujs.js) कोड वास्तव में इसके लिए एक सहायक है।

<%= form.submit "Save", id: "button_id", class: "button", disable_with: "Submitting..." 

यह आपके द्वारा दिए गए मान के साथ बटन टेक्स्ट को प्रतिस्थापित करेगा।

देखें http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-submit_tag

API परिवर्तन: Renan के रूप में, नीचे एक टिप्पणी में पता चलता है Rails 4 beta के रूप में वहाँ disable_with विकल्प पर एक प्रतिवाद नोटिस है।

<%= form.submit "Save", id: "button_id", class: "button", data: {disable_with: "Submitting..."} %> 

यह रेल के सभी हाल के संस्करण के साथ के रूप में यह क्या विकल्प वैसे भी किया है काम करना चाहिए: यह एक डेटा विशेषता होने के लिए बदला जाना चाहिए। इसलिए जब आप रेल 4 में अपग्रेड करते हैं तो यह ठीक करने के लिए एक कम बहिष्करण नोटिस होगा। :)

+0

तो, 'form.submit' के लिए कोई jQuery पुल नहीं है बल्कि केवल' submit_tag' के लिए है? – user502052

+0

'फॉर्मबिल्डर' की 'सबमिट विधि विधि 'सबमिट_टैग' पर दिए गए विकल्पों के साथ कॉल करें। –

+5

'disabled_with' विकल्प रेल 3.2.5 के रूप में बहिष्कृत किया गया था। अब ': data => {: disabled_with => 'सबमिट कर रहा है ...'} का उपयोग करें। स्रोत: http://apidock.com/rails/ActionView/Helpers/FormTagHelper/submit_tag#1305--disable-with-is-deprecated – Renan

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