2011-06-29 18 views
1

フォームのネストされたモデルを扱うRailsCast 196と197を完成させました。フォーム要素の生成された「名前」属性を調べると、括弧で囲まれた数字は主キーIDではなく配列位置を表すことは明らかです。例えば、の場合:Rails 3はaccepts_nested_attributes_forと同時実行

name="survey[questions_attributes][0][answers_attributes][2][content]" 

「0」の形で現れる最初の質問ではなく、(いずれの場合にも違法であろう)、ID = 0の質問を示しています。同様に、「2」は、id = 2の回答ではなく、3番目の回答を示します。あるユーザーが別のユーザーが編集中に質問0を削除した場合質問1.削除後、質問1は配列の位置0になります。これは問題を引き起こしますか?なぜプライマリキーを使用しないのですか?

ありがとうございます!

答えて

0

これは現時点では再生できませんが、survey[questions_attributes][0]の内容を調査することはできますか? 質問のIDを含むハッシュであると仮定します。この場合、シナリオはうまくいくはずです。ユーザAが質問番号を削除する場合。 0ユーザBの編集中に、ユーザBに質問が見つかりませんでした。

+0

ああ、はい。 ID値が隠しHTMLフォームの入力に埋め込まれていることがわかります(例: 'name =" survey [questions_attributes] [1] [id] "type =" hidden "value =" 6 "')。ありがとう! – gederer

関連する問題