2

Rails 3.0.0.beta3 を使用しており、:accepts_nested_attributes_for を使用してネストされた属性を持つフォームを実装しようとしています。

私のフォームは、調査 >> 質問 >> 回答の 3 つのレベルにネストされています。

調査には多くの質問があり、質問には多くの回答があります。

Survey モデル内には、:accepts_nested_attributes_for :questions があります。

質問モード内には、:accepts_nested_attributes_for :answers があります。

既存の質問に新しい回答を追加する場合を除いて、すべて正常に機能していますが、作成されません。ただし、回答の作成中に対応する質問に変更を加えると、回答を正常に作成できます。

この例は、Railscast とまったく同じです: http://railscasts.com/episodes/197-nested-model-form-part-2

ただし、rails3 では動作しません (少なくとも私の場合)。

Rails 3 でネストされた属性に問題がある場合はお知らせください。

前もって感謝します。

4

2 に答える 2

2

使用attr_accessibleしている場合は、ネストされた属性が含まれていることを確認してください

class Survey < ActiveRecord::Base
  accepts_nested_attributes_for :questions
  attr_accessible :questions_attributes
end

class Question < ActiveRecord::Base
  accepts_nested_attributes_for :answers
  attr_accessible :answers_attributes
end

また、まだ問題がある場合は、ネストされた属性とモデルの検証に関する私のコメントを参照してください。複数のモデルを含むフォームで検証が失敗する

于 2011-07-26T21:03:34.820 に答える
0

その Railscast のコメント 93 を見てください (Casper Fabricus による)。彼は、ヘルパーの "link_to_add_fields" メソッドで "new_object" を "[]" で囲む必要があると言っています。

多分それはあなたが打っているものですか?

于 2010-06-01T20:59:22.573 に答える