Прошу прощения за публикацию еще одного вопроса об этом же фрагменте кода, но я такой новичок в рельсах, это больно У меня вопрос, я бы хотел, чтобы была выбрана третья кнопка-переключатель при наличии значения по умолчанию в БД. Другими словами, у меня есть три кнопки «истина», «ложь» и «либо». Если ничего не выбрано или пользователь выбрал кнопку «либо», я бы хотел, чтобы этот выбор отображался. В настоящее время, если пользователь выбирает «истина» или «ложь», то этот выбор отражается правильно и как ожидалось. Это просто третий выбранный вариант, который не отражается при повторном сохранении или вызове формы. Вот мой код:
<div class="new-partner-form">
<%= form_for [:admin, matching_profile.partner, matching_profile], :html => {:id => "edit_profile", :multipart => true} do |f| %>
<div class="rounded-block semi-wide clear">
<h4>Military Service</h4>
<%= f.radio_button :served_in_us_army, false %>
<%= label :served_in_us_army, 'NO', {:style => 'display:inline'} %>
<%= f.radio_button :served_in_us_army, true %>
<%= label :served_in_us_army, 'YES', {:style => 'display:inline'} %>
<%= f.radio_button :served_in_us_army, " ", { :checked => (:served_in_us_army.nil? or :served_in_us_army.blank? ? true : false) } %>
<%= label :served_in_us_army, 'Either', {:style => 'display:inline'} %>
<%= f.error_message_on :served_in_us_army %>
</div>
РЕДАКТИРОВАТЬ: я должен отметить, что также попробовал ": проверил" вариант без фигурных скобок. Все еще не повезло.
Не уверен, что это лучшее решение, но вот как я решил проблему (мне нужно было значение поля, а не имя столбца):
<div class="rounded-block semi-wide clear">
<h4>Military Service</h4>
<%= f.radio_button :served_in_us_army, false %>
<%= label :served_in_us_army, 'NO', {:style => 'display:inline'} %>
<%= f.radio_button :served_in_us_army, true %>
<%= label :served_in_us_army, 'YES', {:style => 'display:inline'} %>
<%= f.radio_button :served_in_us_army, " ", :checked => matching_profile.served_in_us_army.nil? %>
<%= label :served_in_us_army, "Either", {:style => 'display:inline'} %>
<%= f.error_message_on :served_in_us_army %>
</div>