Formulaire Ruby on Rails pour sélectionner le champ avec la classe

Je frappe ma tête contre le mur sur celui-ci. Je veux faire une simple balise select en utilisant la balise f.select mais rien de ce que je fais ne fonctionne. Je mets un exemple ci-dessous:

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

Ok, donc en gros c'est une simple liste qu'une fois que le formulaire est soumis, il place la valeur dans le object_field. Que tout fonctionne, mais l'affichage de la source de la page la balise de classe n'est pas inclus. Il ne jette pas une erreur, il saute juste tout ensemble.

Si quelqu'un a des suggestions, je l'apprécierais grandement.

183
demandé sur Jason Aller 2010-11-02 23:42:00

4 réponses

Essayez de cette façon:

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

select helper prend deux options de hachage, un pour select, et le second pour les options html. Donc, tout ce dont vous avez besoin est de donner des options vides par défaut en tant que premier paramètre après la liste des éléments, puis ajoutez votre classe à html_options.

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

402
répondu MBO 2013-03-06 02:14:59

Vous pouvez également ajouter une option d'invite comme celle-ci.

<%= f.select(:object_field, ['Item 1', 'Item 2'], {include_blank: "Select something"}, { :class => 'my_style_class' }) %>
17
répondu Paing Soe Thaw 2014-09-16 10:31:08

Ce travail pour moi

<%= f.select :status, [["Single", "single"], ["Married", "married"], ["Engaged", "engaged"], ["In a Relationship", "relationship"]], {}, {class: "form-control"} %>
12
répondu Alex Onozor 2015-10-12 08:58:21

Vous pouvez voir ici: http://apidock.com/rails/ActionView/Helpers/FormBuilder/select

Ou ici: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

Select tag A maximun 4 agrument, et last agrument est l'option html, cela signifie que vous pouvez mettre class, require, option de sélection ici.

= f.select :sms_category_id, @sms_category_collect, {}, {class: 'form-control', required: true, selected: @set}
2
répondu ThienSuBS 2016-10-09 07:26:23