-1

カテゴリのツリーにデータを入力するためにAwesomeNestedSetgemを使用しています。

モデル:

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の最小カウントクエリでそれを行うための最良の方法は何ですか?

4

1 に答える 1

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
于 2013-03-16T19:41:13.420 に答える