Rails 3单选按钮;保存多个属性

时间:2011-09-19 14:34:04

标签: ruby-on-rails

我无法使用单选按钮保存多个值。我有两个模型,结果和问题。问题has_many结果/结果belongs_to问题。在我的结果控制器中,我正在做:

def new
@questions = Question.all
for question in @questions
@result = Result.new
question.results.build
end

在我看来,我有......

<table>
<% for question in @questions %>
<tr>
<td><%= question.name %><p></td>
<%=  0.upto(4) do |value| %>
<td> <%= f.radio_button :score, value, :index => question.id %></td>
<% end %>
</tr>
</tr>
<% end %>
</table>

当我提交此页面时,我收到属性错误,并且看起来像......

参数:{“utf8”=&gt;“✓”,“authenticity_token”=&gt;“OGIsyXc7myrK1SIl / auvI57Rghriw3Uh566mJTbZO4Q =”,“result”=&gt; {“1”=&gt; {“得分”=&gt;“ 0“},”2“=&gt; {”得分“=&gt;”1“},”3“=&gt; {”得分“=&gt;”2“}},”提交“=&gt;”创建结果“}

结果有两个字段:得分和:question_id。我想为每个问题保存这两个字段。因此,我认为我需要的参数类似于:“result”=&gt; {“question_id”=&gt;“1”“得分”=&gt;“0”}等等。

我将不胜感激任何帮助!

我已在此处克隆了该应用:https://github.com/marklocklear/survey_test

如果有人愿意克隆回购并且看看那个很棒的应用程序。我在自述文件中添加了一些注释。

1 个答案:

答案 0 :(得分:0)

检查你的关联,如果它是一对多的关联,那就像

question.rb

has_many :results

result.rb

belongs_to :question  #(not questions)

不知道你的控制器,但它应该是这样的:

def new
@questions = Question.all
@result=@questions.build_result
end

对于视图,可能会检查嵌套表单。 http://railscasts.com/episodes/196-nested-model-form-part-1