我正在使用AwesomeNestedSet gem来填充类别的树。
型号:
class Category < ActiveRecord::Base
attr_accessible :name, parent_id
has_many :subcategories, :class_name => "Category", :foreign_key => "parent_id"
belongs_to :parent_category, :class_name => "Category"
acts_as_nested_set
end
我需要这样的名字的输出集合:
Category_1
Category_1 >> Category_2
Category_1 >> Category_2 >> Category_3
Category_4
使用最小数量的DB查询来实现它的最佳方法是什么?
答案 0 :(得分:0)
抱歉,回答自己的问题......
简单:
def self.nested_names
name = ""
Category.each_with_level(Category.all) do |category, level|
if category.root?
name = category.name
else
name += " >> " + category.name
end
category.name = name
end
end