Undr

На память

Записи с меткой ‘nestedset’

Построение дерева из плоского массива

with 6 comments

1 Star2 Stars3 Stars4 Stars5 Stars (1 голосов, средний: 5.00 из 5)
Loading ... Loading ...

Когда нам надо работать со всем деревом сразу, иногда, бывает нужно построить дерево из плоского массива. К примеру у нас есть категории товара

class Category < ActiveRecord::Base
  has_many :products
  acts_as_nested_set
end

И нам нужно в панели управления показывать дерево категорий. Мы можем взять категории первого уровня, показать их на сайте и по мере выбора категорий погружать ajax запросом их дочек. Получаем слишком много запросов и ненужные задержки при открытии категории.

Проще взять список категорий целиком и построить из него дерево. Потом его использовать для отображения на сайте. Для построения дерева потребуется закешированое свойство cached_level из предыдущего примера.

Читать далее »

Написал undr ()

6 сентября 2009 в 19:47