2011-12-29 24 views
18

मैं एक पृष्ठ पर रेल सरल_form के साथ उत्पन्न कई रूपों को रखना चाहता हूं, और जावास्क्रिप्ट के साथ उन पर काम करना चाहता हूं। हालांकि सरल_form रूपों में संबंधित इनपुट के लिए समान आईडी उत्पन्न करता है। इस प्रकार मैं जेनरेट आईडी को अपने आप से बदलना चाहता हूं।रेल सरल_form: कस्टम इनपुट आईडी

अब मैं एक पंक्ति है:

<%= f.input :id, :as => :hidden, :html => {:value => @question.id} %> 

और HTML आउटपुट (के लिए @ question.id = 1):

<input id="question_id_1" class="hidden" type="hidden" value="1" name="question[id]"> 

:

<input id="question_id" class="hidden" type="hidden" value="1" name="question[id]"> 

और मैं प्राप्त करना चाहते हैं question_id_1 सिर्फ एक उदाहरण है। मैं इस आईडी को चुनने में सक्षम होना चाहता हूं।

मैं रेल 3 और सरल_फॉर्म 1.5 का उपयोग करता हूं।

उत्तर

28

आप लगभग वहां हैं।

यह चाल :input_html निर्दिष्ट करने में है।

<%= f.input :id, :as => :hidden, 
     :input_html => { 
     :value => @question.id, 
     :id => "question_id_1" 
     } %> 
+0

बहुत बहुत धन्यवाद। मैंने कोशिश की, ': html' और': html_options', लेकिन 'input_html' समस्या हल करती है। – mrzasa

+0

: input_html,: label_html,: wrapper_html इन चीजों में से अधिकांश को कवर करेगा। –

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