【发布时间】:2009-07-30 03:01:51
【问题描述】:
这个问题一直困扰着我。我玩弄了 Ryan Bates 复杂的表格,但我无法完全弄清楚我的问题。 我有这个架构:
Location has_many :targets
Target has_many :target_classifications
所有位置都显示在页面上。用户可以通过 jscript 为任何位置动态创建目标,然后在位置 3 选择(包含目标的可用分类)下添加一个表格行和一个目标值。在单击保存之前,可以为任何位置创建任意数量的目标。
我正在使用 rjs 渲染一个 target_partial,它具有以下代码:
我以这种方式使用fields_for:
对于每个选择。提交后,我得到了这个哈希:
“新目标”=>
{"7"=>[{"id"=>"13"}, {"id"=>"15"}, {"value"=>"67", "id"=>""}],
“4”=>
[{"id"=>"12"},
{"id"=>"15"},
{"值"=>"23", "id"=>""},
{"id"=>"11"},
{"id"=>"16"},
{"值"=>"67", "id"=>""}]},
因此,它按位置分隔每个目标(在本例中为“7”和“4”),但不分隔每个目标。我想要的是这样的:
“新目标”=> {"7"=>[ {"target"=>[{"id"=>"13"}, {"id"=>"15"}, {"tonnes"=>"67"}]} ], “4”=>[ {"目标"=>[{"id"=>"12"},{"id"=>"15"},{"tonnes"=>"23"]}, {"目标"=>[{"id"=>"11"},{"id"=>"16"},{"tonnes"=>"67"]} ] }所以我可以遍历每个位置的每个目标。我似乎无法在我的 field_for 方法中添加一个新的 [target] 大括号(它会爆炸),但这就是我想要做的。有什么想法吗?
【问题讨论】:
标签: ruby-on-rails