-1

我有一份问卷需要回答。

我的模型有表格答案和表格问题,我正确通过但我收到错误

nil:NilClass 的未定义方法“每个”

我只需要一种将这个数组传递给控制器​​的方法。

我认为这个错误意味着我传递了一个空数组,所以如果你能用另一种方式帮助我编写代码或编辑它以使其正常工作。

我的观点 :

           <%@answers_array = []%>
    <% @questionnaire.qquestions.each do |question| %>
        <strong><%=question.body %></strong>
        </br>
    <%= text_field_tag 'answers_array[]',""%> 
            <%end%>
 <p><%= link_to "Done",:controller => :answer_questionnaires, :action => :create, :params=>{:id => @questionnaire.id, :@answers=>@answers_array}  %></p>

我的控制器:

def create
  @questionnaire = Questionnaire.find(params[:id])
  number = 1
  @answers = params[:@answers]
  @answers.each do |answer| 
      AnswerQuestionnaire.create(:body => answer,:qquestion_id =>number)
      number = number + 1  
  end
end
4

1 回答 1

0

我认为创建嵌套表单而不是像那样传递参数会更好。这里有一些关于嵌套表单的不错的 railscasts

于 2013-04-19T10:04:49.377 回答