2011-11-23 6 views
0

나는 초보자이며이 보석을 가지고 노는 중이다. 데이터베이스에 트리 구조가 있습니다. 하지만 지금은 첫 번째 레벨에서 항목에 대한 진술을 얻는 방법이나 첫 번째 또는 두 번째 레벨에서 항목 수를 계산하는 방법으로 고심하고 있습니다 ...굉장한 중첩 세트 - 하위 트리에 대한 설명을 어떻게 얻을 수 있습니까?

누구든지이 문제로 제발 도와 줄 수 있습니까? ?

Category.each_with_level(Category.root.self_and_descendants) do |category, level| 
    ... 
end 

을하지만 난 여전히 그것을 사용하는 방법을 ... 나는 모든 힌트 드리겠습니다 모른다 : 나는 항목의 문 GitHub의에서이 루프를 발견!

count = 0 
Category.each_with_level(Category.all) do |account, level| 
    count += 1 if level == 1 
end 
puts count 

을 그리고 인쇄하기 : 당신은 모든 범주를 통해 루프 레일 콘솔로 레벨 1

의 항목을 계산은 다음과 같은 시도 할 수

답변

1

는 정말 고마워요 항목 :

Category.each_with_level(Category.all) do |account, level| 
    puts "#{level} - #{category.name}" 
end 
0

옵션을 추가하면필드에서 다음과 같이 결과를 얻을 수 있습니다.

count = Category.where(depth: 1).count