私のモデルの1つにネストされた属性を受け入れようとしています。モデルの名前はTournamentで、Tournamentには多くのMapListsがあります。注目すべき点は、トーナメントが少なくとも1つのMapListが存在することを検証することです。同様に、MapListはtournament_idが存在することを検証する。参照のために、MapListにはtournament_id、map_order、およびmap_idという3つの属性しかありません。コードは、それがトーナメントに表示されているとおり、次のとおりです。新しいレコードを作成するときに、どのようにaccepts_nested_attributes_forを使用しますか?
accepts_nested_attributes_for :map_lists
私の問題は、新しいトーナメントレコードを懸念されます。
t = Tournament.new({map_lists_attributes: [{map_id: 1, map_order: 1}]}, as: :admin)
このコードは、しかし、動作しません:たとえば、私は、次のようなコードを使用して新しいトーナメントを作成したいと思います。 tをインスタンス化した直後にt.map_listsを呼び出すと、空の関係が得られます。明らかに、私は新しいレコードを作成しているので、tournament_idを設定することはできません。どうすればこの問題を解決できますか?
あなたはトーナメントのための任意のattr_accessibleセットアップを持っていますか? –
です。アクセシブルリストにmap_listsを追加する必要がありますか? – Max
クール、私はこのために何をすべきかについての答えを追加しました –