В базе данных я храню 0, если пол женский, и 1, если пол мужской.
У меня есть поле формы, подобное этому:
<%= myobject.select(:gender, options_for_select([['Male', 1], ['Female', 0]]), {:prompt => 'Select Gender'})%>
, которое хорошо работает, когда:
- Поле не существует в объекте, в котором он выбрал опцию «Выбрать пол» (без значения).
- Поле в базе данных выбрало опцию «Мужской»
Однако, если в поле указано «Женский», отображается параметр «Выбрать пол».Я полагаю, это потому, что 0 в базе данных считается ложным, когда извлекается (потому что Rails предполагает, что 0 в Mysql ложно), и поэтому при выборе он думает, что должен запросить текст, не имеющий значения.
Как следуетЯ имею дело с этой ситуацией, предполагая, что не могу коснуться структуры базы данных.