这个问题一直在杀我。我玩了瑞恩贝茨复杂的形式,但我无法弄清楚我的问题。 我有这个模式:Rails动态多模型表单属性
Location has_many :targets
Target has_many :target_classifications
所有位置都显示在页面上。用户可以通过jscript动态创建任意位置的目标,然后在位置3选择(包含目标的可用分类)和目标值下添加一个表格行。点击保存之前,可以为任何位置创建任意数量的目标。
我使用RJS来呈现target_partial,其中有这样的代码: 我使用fields_for这样:
每个选择。当sumbmitted,我得到这个散列:
"new_targets"=> {"7"=>[{"id"=>"13"}, {"id"=>"15"}, {"value"=>"67", "id"=>""}], "4"=> [{"id"=>"12"}, {"id"=>"15"}, {"value"=>"23", "id"=>""}, {"id"=>"11"}, {"id"=>"16"}, {"value"=>"67", "id"=>""}]},
所以,按位置的每个目标(在这种情况下,“7”和“4”)分隔,但每个目标不分开。我想要的是:
"new_targets"=> {"7"=>[ {"target"=>[{"id"=>"13"}, {"id"=>"15"}, {"tonnes"=>"67"}]} ], "4"=>[ {"target"=>[{"id"=>"12"},{"id"=>"15"},{"tonnes"=>"23"]}, {"target"=>[{"id"=>"11"},{"id"=>"16"},{"tonnes"=>"67"]} ] }
所以我可以遍历每个位置的每个目标。我似乎无法在我的field_for方法中添加一个新的[目标]大括号(它爆炸了),但这就是我想要做的。有什么想法吗?
@brad:我不确定,但我认为fields_for中的这些“[]”会做你想做的事 – klew 2009-03-22 16:21:48