У меня есть таблиц БД «вопрос», «ответ». (Эти две таблицы были связаны has_many и belongs_to и nested_form отношений.)Rails: Как я могу получить логические данные с помощью переключателя?
И есть user_answer (булево, по умолчанию «ложь») столбец в ответ Таблица.
Я хочу сделать это так.
- Если пользователь установил переключатель, измените значение user_answer на «true».
- Затем я сравню другое значение в правильном столбце в таблице ответов,
- и, наконец, я сохраню результат в столбце is_correct в таблице вопросов.
Но я не знаю, как я могу это сделать. Это форма ввода.
<h1><%= @survey.name %></h1>
<%= form_tag({:controller => "surveys", :action => "grading"}) do %>
<ol class="questions">
<% @survey.questions.each do |question| %>
<li>
<strong><%= question.content %></strong>
<ol class="checkbox">
<% question.answers.each do |answer| %>
<%= radio_button_tag(answer.user_answer) %>
<%= label("answer_".concat(answer.id.to_s).to_sym, answer.content) %>
<% end %>
</ol>
<hr />
</li>
<% end %>
</ol>
<div><%= submit_tag("Submit", :class => "submit") %></div>
Конечно, есть ошибки. radio_button_tag необходимо 2 параметра. Но я не знаю, как я могу это сделать. Пожалуйста, дайте мне знать.
Благодаря Sami. Но, к сожалению, я только что закончил рельсы, поэтому я не мог понять ваш ответ на 100%. Я просто хочу сохранить true, если радиокнопка проверена, на «answer.user_answer». Не могли бы вы рассказать мне более подробно? – gunsmoke
В каком столбце и в какой таблице вы сохраняете значение. – Sami
Добавьте столбец/поле типа boolean в таблицу, в которой вы хотите сохранить результат. затем сделайте что-нибудь подобное для своего переключателя <% = form_for (@user) do | f | %>