実際にradio_buttonでやってみましたが、諦めました(複雑すぎて私には無理です)。
私は DB テーブル 'question' と 'answer' を持っています。
また、回答テーブルには user_answer(boolean、デフォルト値 'false' で作成) 列があります。
こんな感じにしたいです。
- ユーザーが check_box をオンにすると、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| %>
<%= check_box_tag(answer.user_answer) %>
<%= label answer.content) %>
<% end %>
</ol>
<hr />
</li>
<% end %>
</ol>
<div><%= submit_tag("Submit", :class => "submit") %></div>
しかし、answer.user_answer は常に「false」であり、まったく変更されていません。この行を変更するにはどうすればよいですか?
<%= check_box_tag(answer.user_answer) %>