如何更改单选按钮行为?

时间:2016-06-26 19:12:13

标签: ruby-on-rails ruby

我有这样的表格:

<%= form_for(@submitted_quiz) do |f| %>
<%= f.hidden_field :quiz_id, :value => @quiz.id %>
<%= f.hidden_field :name, :value => @quiz.name %>

<%= @quiz.questions.each do |question| %>

<%= f.label question.content %>

<%= question.answers.each do |answer| %>
<%= f.label answer.content %>

<%= f.fields_for (:submitted_answers) do |ff| %>


<%= ff.radio_button :content, value: answer.content %>

<% end #fields_for (:submitted_answers) do %>
<% end #answer.each do  %>
<% end #questions.each do %>


<%= f.submit %>
<% end #form_for  %>

但我能够检查所有单选按钮,而不是每个问题集只有一个单选按钮(每个问题有4个答案,我想只检查5个答案中的一个)。我知道为什么会这样,因为每个submitted_answers都是唯一的,我正在为每个{@ 1}构建一个独立的单选按钮,但我不知道如何实际解决这个问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我通过将question.answers.each循环放入fields_for来解决它。我对这是如何工作有一种想法,但我仍然不能100%确定为什么这会解决它。

<%= f.fields_for (:submitted_answers) do |ff| %>

<%= question.answers.each do |answer| %>
<%= ff.label :content, answer.content %>
<%= ff.radio_button :content, answer.content %>

<% end #answer.each do %>
<% end #fields_for (:submitted_answers) do %>