rails erb форма вспомогательные параметры для select: selected
у меня есть форма редактирования в erb.
<%= form_for @animal do |f| %>
в коде у меня есть выбор с выбором:
<%= f.select :gender, options_for_select([['Mare'], ['Stallion'], ['Gelding']], :selected => :gender) %>
однако, выберите не отображается правильное выбранное значение. Что я могу сделать не так? Я могу заставить его работать, если я жестко закодирую его, но, конечно, это не жизнеспособный вариант.
2 ответов
кода options_for_select()
вызов устанавливает выбранное значение в " пол " и не пытается использовать значение из объекта формы.
пожалуйста, смотрите документы для options_for_select()
для примеров использования.
options_for_select(['Mare', 'Stallion', 'Gelding'], f.object.gender)
options_for_select(['Mare', 'Stallion', 'Gelding'], :selected => f.object.gender)
кроме того, вы можете сделать это, который уже будет использовать gender()
значение для объекта формы:
<%= f.select :gender, ['Mare', 'Stallion', 'Gelding'] %>
кстати, если вы используете :include_blank => true
, это установит ваш текущий выбор пустым, даже если форма "знает", что выбрано.