2011-12-29 18 views
18

Quiero poner varios formularios generados con Rails simple_form en una página, y operarlos con javascript. Sin embargo, simple_form generó los mismos identificadores para las entradas respectivas en los formularios. Por lo tanto, quiero reemplazar el ID generado con el mío.Rails simple_form: ID de entrada personalizada

Ahora tienen una línea:

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

y salida HTML (por @ question.id = 1):

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

y quiero llegar:

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

question_id_1 es solo un ejemplo. Quiero poder elegir esta identificación.

Uso Rails 3 y simple_form 1.5.

Respuesta

28

Ya casi está allí.

El truco está en especificar el :input_html.

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

Muchas gracias. Intenté, ': html' y': html_options', pero ': input_html' resuelve el problema. – mrzasa

+0

: input_html,: label_html,: wrapper_html cubrirá la mayoría de estas cosas. –

Cuestiones relacionadas