2010-11-02 21 views
169

Me estoy golpeando la cabeza contra la pared en este caso. Quiero hacer una etiqueta de selección simple usando la etiqueta f.select pero nada de lo que hago funciona. Pongo un ejemplo a continuación:Ruby on Rails form_for select field with class

<%= f.select(:object_field, ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 4'], :class => 'my_style_class')%> 

Ok, así que básicamente se trata de una simple lista que una vez que se envía el formulario que sitúa el valor en el object_field. Todo eso funciona, pero ver el origen de la página la etiqueta de clase no está incluido. No arroja un error, simplemente se salta todo junto.

Si alguien tiene alguna sugerencia, la agradecería mucho.

Respuesta

383

Trate de esta manera:

<%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %> 

select helper toma dos valores hash opciones, una para seleccionar, y el segundo para las opciones de HTML. Entonces todo lo que necesita es dar opciones vacías predeterminadas como primer param después de la lista de elementos y luego agregue su clase al html_options.

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select

+1

Justo en el dinero, muchas gracias, que funcionó! Sabía que tenía que ser algo simple y, por supuesto, lo era. – Patrick

+0

Lo he intentado de esta manera en haml pero no sé por qué en la clase "Examinar elemento en firebug con elemento" no se ve aquí está mi código = f.select (: gender, [['Male', true], [' Female ', false]], {}, {: class => "drop",: style => "opacity: 0;"}) –

+0

¡Gracias! ¡Esto funciona! –

15

También puede agregar una opción de Indicador de esta manera.

<%= f.select(:object_field, ['Item 1', 'Item 2'], {include_blank: "Select something"}, { :class => 'my_style_class' }) %> 
9

Este trabajo para mí

<%= f.select :status, [["Single", "single"], ["Married", "married"], ["Engaged", "engaged"], ["In a Relationship", "relationship"]], {}, {class: "form-control"} %> 
1

Se puede ver aquí: http://apidock.com/rails/ActionView/Helpers/FormBuilder/select

O aquí: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

Seleccione la etiqueta ha Maximun 4 agrument, y por último agrument es HTML opción, significa que puede poner clase, requerir, opción de selección aquí.

= f.select :sms_category_id, @sms_category_collect, {}, {class: 'form-control', required: true, selected: @set} 
+0

'selected: @ set' funciona para mí cuando lo pongo en el primer' {} '. – user1515295