其实我用radio_button尝试了这个,但我放弃了。(对我来说太复杂了。)
我有DB表'问题','回答'。(这两个表已经通过has_many和belongs_to以及nested_form关系相关联。)
在答案表中有user_answer(布尔值,由默认值'false'创建)列。
我想这样做。
但我不知道该怎么办。这是输入表格。
<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) %>
答案 0 :(得分:0)
有:
<% question.answers.each do |answer| %>
<%= check_box_tag 'answers[]', answer %>
<%= label answer.content %>
<% end %>
会将params[:answers]
发送给您的控制器。在控制器中进行所有比较等。