Ruby on Rails form_ для выбора поля с классом

Я бил головой о стену на этом. Я хочу сделать простой тег select, используя тег f.select, но ничего не работает. Я приведу пример ниже:

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

Хорошо, так что в основном это простой список, который после отправки формы помещает значение в object_field. Что все работает, но просмотр источника страницы тег класса не включен. Он не вызывает ошибку, он просто пропускает все это вместе.

Если у кого-то есть предложения, я бы очень признателен.

Ответ 1

Попробуйте следующим образом:

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

select хелпер принимает два хэша параметров, один для выбора и второй для html-параметров. Таким образом, вам нужно только указать параметры по умолчанию как первый параметр после списка элементов, а затем добавить свой класс в html_options.

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

Ответ 2

Вы также можете добавить приглашение, подобное этому.

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

Ответ 3

Эта работа для меня

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

Ответ 4

Вы можете увидеть здесь: http://apidock.com/rails/ActionView/Helpers/FormBuilder/select

Или здесь: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

В теге select есть maximun 4 agrument, а последний agrument - опция html, это означает, что вы можете поставить здесь класс, require, selection.

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