深分組所以,我有記錄的陣列和我想組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