#ruby-on-rails #ruby-on-rails-4 #html-select
#ruby-on-rails #ruby-on-rails-4 #html-выберите
Вопрос:
Я хочу добавить пустое сообщение с приглашением для моего выпадающего списка Select Gender
и разрешить выбор предыдущего значения из базы данных, если оно выбрано и сохранено.
<%= f.select :gender, "<option value='1'>Male</option><option value='2'>Female</option>".html_safe, prompt: "Select Gender" %>
С помощью приведенного выше кода сообщение с приглашением, похоже, не добавляется. Когда я пытаюсь include_blank
, он добавляет пустое значение, но не использует текст приглашения.
Ответ №1:
Попробуйте это
<%= f.select(:gender, options_for_select([['Male', 1],['Female', 2]],@user.gender), {:include_blank => 'Select Gender'}, { :class => 'form-control' }) %>
Комментарии:
1. для чего используется опция prompt? разве это не должно устанавливать пустое значение?
2. prompt и include_blank оба выполняют одинаковую работу, единственное отличие заключается в том, что если значение уже установлено, prompt не будет отображать пустое значение. Таким образом, вам не нужно передавать выбранное значение в options_for_select hash.
3. Таким образом, вы можете написать свой помощник по выбору, например <%= f.select(:gender, options_for_select([[‘Male’, 1], [‘Female’, 2]]), {:prompt => ‘Select Gender’}, { :class => ‘form-control’ }) %>