2012-12-21 3 views
6

मैं _form.html.erb, हाँ, मैं उसी रूप में 2 प्रविष्टियों पर की क्या ज़रूरत है जिसमें यह इसमैं नियंत्रक में f.submit का नाम पैरामीटर कैसे प्राप्त कर सकता हूं?

<%= form_for @book, :html => { :class => 'form-horizontal' } do |f| %> 
.... 
    <%= f.submit nil, :class => 'btn btn-primary', :name => 'update' %> 
    <%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'destroy' %> 
.... 
<% end %> 

तरह कोडित है बनाया है, और उन दोनों को इस तरह के 'अपडेट' के रूप में नाम है और 'नष्ट' ।

जब उपयोगकर्ता नष्ट बटन दबाता है, books_controller में कार्रवाई को अपडेट किया जाएगा।
और यह निर्णय करता है कि क्या यह 'अपडेट' या 'नष्ट' अनुरोध है।
इसके लिए, मैं नियंत्रक में अपना नाम पैरामीटर कैसे प्राप्त कर सकता हूं?

अद्यतन कार्रवाई इस

def update 

if params[:books][:name] == 'destroy' 
    destroy transaction 
else 
    update transaction 
end 

end 
+0

आपके पैराम्स में आपके पास क्या है इसका निरीक्षण करने का प्रयास करें –

उत्तर

4

इस प्रयास करें,

<%= f.submit 'Update', :class => 'btn btn-primary', :name => 'submit' %> 
<%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'submit' %> 

अब प्रस्तुत करने के लिए जब आप अद्यतन आप के रूप में "अपडेट" और params[:submit] मिल जाएगा जब आप डी estroy आपको params[:submit] आपके नियंत्रक में "नष्ट" के रूप में

0

जब नष्ट की तरह कुछ हो जाएगा, तो आप फ़ॉर्म के दूसरे इनपुट मानों की ज़रूरत है?

यह दो रूपों के लिए आसान (और क्लीनर) होगा, एक अद्यतन कार्रवाई को लक्षित करने वाले इनपुट के साथ और केवल विनाशकारी कार्रवाई को लक्षित करने वाले विनाश बटन के साथ एक होगा?

आप अन्य इनपुट का उपयोग करने की जरूरत हैहैं, मैं अभी भी सुझाव है कि आप दो अलग अलग कार्यों और दो अलग रूप है, मैं इसके साथ ही आप जे एस/jQuery का उपयोग करने के क्षेत्रों आप से जरूरत के मूल्यों को लाने के लिए सुझाव है कि प्रथम रूप है जब दूसरा रूप

+0

धन्यवाद मैंने इसके बारे में सोचा लेकिन मैं प्रत्येक फ़ॉर्म के लिए 2 कैप्चा छवियां नहीं रखना चाहता था :( – HUSTEN