2011-12-29 15 views
18

Chcę umieścić kilka formularzy generowanych z Rails simple_form na jednej stronie, i operować na nich za pomocą javascript. Jednak simple_form generuje te same identyfikatory dla odpowiednich wejść w formularzach. Dlatego chcę zamienić wygenerowany identyfikator na własny.Szyny simple_form: custom input id

Teraz mam wiersz:

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

i wyjście HTML (dla @ question.id = 1):

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

i chcę dostać:

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

question_id_1 to tylko przykład. Chcę móc wybrać ten identyfikator.

Używam Rails 3 i simple_form 1.5.

Odpowiedz

28

Już prawie jesteś.

Podstęp polega na określeniu :input_html.

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

Wielkie dzięki. Próbowałem, ': html' i': html_options', ale ': input_html' rozwiązuje problem. – mrzasa

+0

: input_html,: label_html,: wrapper_html obejmie większość z tych rzeczy. –

Powiązane problemy