我试图让我的一个模型接受嵌套属性。模型名称为 Tournament,Tournament 有很多 MapList。另外值得注意的是,锦标赛验证至少存在一个 MapList。同样,MapList 会验证锦标赛 ID 是否存在。作为参考,MapList 只有 3 个属性:tournament_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,我会得到一个空关系。显然,我无法设置锦标赛 ID,因为我正在创建新记录。我怎么解决这个问题?