2013-05-16 108 views
0

我有4個模型報告,分類,問題,答案。我的問題是報告與類別沒有關聯。我想要創建如下嵌套表格:導軌中的三級嵌套表格

@report= Report.new 
@category = @report.build_category 
@quetions = @category.questions.build 
@questions.answers.build 

但是沒有關聯報告與類別我不能這樣做。我有類似的錯誤categories.report_id不存在我在做什麼錯了?

我協會:

類別=>有許多=>問題

問題=>有許多=>答案

我的DB模式:

Reports: 
    user_id: integer 
    category_id:integer 

Category: 
    title: string 
    slug: string 

Question: 
    title: string 
    category_id: integer 

Answer: 
    title: string 
    question_id: integer 
+0

看到'@quetions = @ category.questions.build',' @ quetions'改爲'@ questions' –

+0

我在第二行有問題** @ category = @ report.build_category **。我評論了其他路線。 – EJIqpEP9

+0

關聯報告與類別是什麼? –

回答

1

我推薦使用NestedForm Gem(https://github.com/ryanb/nested_form

gem 'nested_form' 

你必須做這樣的事情在控制器中的以下內容:

@report= Report.new 
@report.build_category 

然後在視圖:

<%= nested_form_for @report do |f| %> 
    <%= f.fields_for :category do |category_form| %> 
    <%= category_form.text_field :name %> 
    <%= category_form.fields_for :questions do |question_form| %> 
     <%= question_form.text_field :question %> 
     <%= question_form.fields_for :answers do |answer_form| %> 
     <%= answer_form.text_field :answer %> 
     <% end %> 
     <p><%= question_form.link_to_add "Add a Answer", :answers %></p> 
    <% end %> 
    <p><%= category_form.link_to_add "Add a Question", :questions %></p> 
    <% end %> 
+0

非常感謝!你很棒。這對我幫助很大。 – EJIqpEP9