モデルの 1 つにネストされた属性を受け入れさせようとしています。モデルの名前は Tournament で、Tournament には多数の MapList があります。また、トーナメントは、少なくとも 1 つの MapList が存在することを検証します。同様に、MapList は tourment_id が存在することを検証します。参考までに、MapList には 3 つの属性しかありません。tourment_id、map_order、および map_id です。トーナメントに表示されているコードは次のとおりです。
accepts_nested_attributes_for :map_lists
私の問題は、新しいトーナメント記録に関するものです。たとえば、次のようなコードを使用して新しいトーナメントを作成したいと考えています。
t = Tournament.new({map_lists_attributes: [{map_id: 1, map_order: 1}]}, as: :admin)
ただし、このコードは機能しません。t をインスタンス化した直後に t.map_lists を呼び出すと、空のリレーションが得られます。明らかに、新しいレコードを作成しているため、tourment_id を設定できません。どうすればこの問題を解決できますか?