一键创建同一个表的多个记录

时间:2013-04-19 09:58:27

标签: ruby-on-rails ruby ruby-on-rails-3 model-view-controller controller

我有一份需要回答的调查问卷。

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

  

未定义的方法'每个'为零: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

1 个答案:

答案 0 :(得分:0)

我认为你创建嵌套表单要好得多,而不是像那样传递params。有一些好railscasts about nested forms here