Rails form. Выберите атрибуты для отображения разных значений.

У меня есть модель, где я храню параметр сечения как целое число в базе данных, без секции = 0, section1 = 1 и section2 = 2.

Я хочу, чтобы пользователь мог выбрать раздел по его имени, а не по сохраненному значению, т.е. Я хочу, чтобы форма выбирала, чтобы показать "нет раздела, раздел1, раздел2" в качестве параметров, но затем сохранить соответствующее значение в базе данных 0, 1 или 2.

.form-group
 = f.label :section, 'Choose a section'
 = f.select :section,(show 'no section, section1, section2' but store 0,1,2)
1 ответ

вам нужно передать массив с параметрами

= f.select :section, [ ["No section",0], ["Section 1",1], ["Section 2", 2] ]

Соответствующий элемент будет выбран в соответствии со значением, поэтому, если ваш объект имеет значение для секции = 2, тогда при загрузке страницы будет выбрано "Раздел 2".

Вы можете посмотреть http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-select и http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper. html # method-i-select для получения более подробной информации

licensed under cc by-sa 3.0 with attribution.