Ruby on Rails form_para seleccionar campo con clase


200

Me estoy golpeando la cabeza contra la pared en este caso. Quiero hacer una etiqueta de selección simple usando la f.selectetiqueta pero nada de lo que hago funciona. Pongo un ejemplo a continuación:

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

Ok, entonces básicamente es una lista simple que una vez que se envía el formulario coloca el valor en el object_field. Todo eso funciona, pero al ver el origen de la página, la etiqueta de clase no está incluida. No arroja un error, simplemente lo omite todo junto.

Si alguien tiene alguna sugerencia, lo agradecería enormemente.

Respuestas:


449

Intenta de esta manera:

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

selecthelper toma dos opciones hashes, una para seleccionar y la segunda para las opciones html. Entonces, todo lo que necesita es dar opciones vacías predeterminadas como primer parámetro después de la lista de elementos y luego agregar su clase html_options.

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


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

Lo intenté de esta manera en haml pero no sé por qué en la clase "Inspeccionar elemento en firebug con elemento" no se ve aquí mi código = f.select (: gender, [['' Male ', true], [' Female ', false]], {}, {: class => "drop"
,:

@GaganGami Lo hice funcionar con este código: la = f.select(:stars, [['Male', true], ['Female', false]], {}, {:class=>"form-control",:style=>"opacity: 0;"}) opacidad establecida en 0 hará que su campo sea invisible.
Robert

¿Alguien sabe qué deberíamos hacer si la selección f.se pasa un bloque al final? La clase no parece pasar con ninguna combinación que he probado.
Tashows

Gracias por la explicación
Abhilash

21

También puede agregar una opción de solicitud como esta.

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

12

Este trabajo para mi

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

2

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

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

Seleccionar etiqueta tiene un máximo de 4 grupos, y el último grupo es la opción html, lo que significa que puede poner la opción de clase, requerimiento y selección aquí.

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

selected: @setfunciona para mí cuando lo pongo en el primero {}.
user1515295
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.