Переключатель, чтобы функционировать как условный с simple_form в Rails, не сохраняется в базе данных
В настоящее время я не знаю, как создать переключатель с simple_form, который не является атрибутом ресурса.
Я пытаюсь создать переключатель, который не сохраняется в базе данных. Переключатель просто работает как условный: если yes
радио-кнопка проверена, затем я добавлю некоторые вещи с помощью coffeescript. Если no
выбран, то ничего не должно произойти.
пока код:
<%= simple_form_for(@model) do |f| %>
<%= f.label "Were you referred here?" %>
<div>
<%= f.radio_button :referral_check%> Yes
</div>
<div>
<%= f.radio_button :referral_check%> No
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
1 ответ
Это лучший способ сделать это:
<%= simple_form_for(@model) do |f| %>
<%= f.label "Were you referred here?" %>
<div>
<%= radio_button_tag "referral", "true" %> Yes
</div>
<div>
<%= radio_button_tag "referral", "false" %> No
</div>
<% end %>
Атрибут referral
не должен существовать в качестве атрибута для любой модели. Другими словами, ни в одной из таблиц базы данных нет ни одного столбца referral
, Этот атрибут все равно будет передан на сервер со всеми остальными параметрами, но это нормально. Благодаря сильным параметрам и тому, что я использовал radio_button_tag
таким образом, не привязывая этот входной выбор к текущей форме, с этим атрибутом ничего не произойдет. Как только он попадет на сервер, он будет просто проигнорирован.