1

どうすればこのようなことを達成できますか?
構造は次のとおりです。=>テストには多くの質問があり、質問には多くの回答があります。

私はコントローラーにいますquestions = @test.questions.buildquestions.answers.build

form_for @test do |f|
  f.fields_for :questions do |question_f|
    question_f.fields_for :answers do |answer_f|
      # answer form here

fields_for:answersまで機能します。

私は何が欠けていますか?ありがとう!

4

1 に答える 1

3

ネストされたフォームを使用する場合は、テストと質問のモデルも入力する必要がありaccepts_nested_attributes_forます。

class Test < ActiveRecord::Base
  attr_accessible :questions_attributes
  has_many :questions, dependent: :destroy
  accepts_nested_attributes_for :questions
end

class Question < ActiveRecord::Base
  attr_accessible :answers_attributes
  has_many :answers, dependent: :destroy
  accepts_nested_attributes_for :answers
end

これを試して:

form_for ([@test, @question]) do |f|

コントローラーでの新しいアクション:

@test = Test.new
@question = Question.new
@test.questions.build
@question.answers.build 
于 2012-11-05T04:53:57.820 に答える