深分组所以,我有记录的阵列和我想组2级2水平在红宝石
基本上我想group_by{|x| x.field1 }
然后在散列每个值由FIELD2被进一步分组英寸有效地导致我可以倾倒出一棵树。
def treemaker(array = [])
tree = ledgers.group_by{|x|x.master_group}
tree.each{|x,z| tree[x] = z.group_by{|y| y.account_group}}
tree
end
我会那么,我可以放到一个“树”的JavaScript插件的方式渲染树。
有没有更高效的方法?
样品输入:ActiveRecord对象的数组,其中模型包含,田野master_group,ACCOUNT_GROUP和名称
Class MyModel < ActiveRecord::Base
validates :master_group, :account_group, :name, :presence => true
end
样品输出继电器:
{"master_group1" => {"account_group1" => ["name1","name2",...],
"account_groupx" => ["name3", "name4",...],
....},
"master_group2" => {"account_group2" => ["namex", "namey"]},
...
}
我不是专门找一个“ SQL分组“解决方案(但那也不错)。只是一个使用任何给定的红宝石对象列表枚举的解决方案。
请提供样本输入和所需的输出。 – Phrogz 2011-02-11 14:32:25