实际上我尝试使用radio_button,但我放弃了。(对我来说太复杂了。)
我有数据库表“问题”、“答案”。(这两个表已通过 has_many 和 belongs_to 以及nested_form 关系关联。)
并且答案表中有 user_answer(boolean, created by default value 'false') 列。
我想让它变成这样。
- 如果用户选中复选框,则 user_answer 更改为“真”值。
- 然后我将比较答案表中正确列中的另一个值,
- 最后我将结果保存在问题表的 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 始终为“假”,根本没有改变。我怎样才能改变这条线?
<%= check_box_tag(answer.user_answer) %>