2011-10-04 68 views
0

我有一個n級的會員系統,我試圖走,所以我可以得到計數和附屬機構子分支機構名單。除此之外,我在每個條目中都有一個「id」和「affiliate_id」。試圖走一棵樹,總是得不到結果

def find_affiliates_under(affid) 
    affs=Array.new 
    Affiliate.find(:all, :conditions => "affiliate_id = " + affid.to_s, :select => :id).each do |a| 
    affs.concat(find_affiliates_under(a.id)) 
    end 
return affs.uniq 
end 

我在做什麼錯?願意接受有更多紅寶石經驗的人的指點 謝謝!

回答

0

你是id的還是你還在尋找嵌套對象本身。通過放置select => :id選項,您只需選擇每個對象的id

我可以推薦看看awesome_nested_set。我認爲它會實現你想要做的,同時節省你一些時間。

+0

在這種情況下,例如,我只是想要計算孩子。 我已經看到了樹和嵌套集插件的行爲,他們中的任何一個都需要數據模型更改,這是我無法完成的,因爲我正在重新設計應用程序的複雜性。 –