@eldar_web

Рекурсия в Ruby. Как реализовать?

Допустим, есть модель отделов со связью "главный - дочерний":
District
id
id_parent


Как можно перебирать все id-шники начиная от главного до последнего дочернего?
Гэмы не предлагать!!!
  • Вопрос задан
  • 798 просмотров
Пригласить эксперта
Ответы на вопрос 1
@SilentFl
Мусье желает странного ))
def walk_tree(root_id)
  root_item = Distinct.find(root_id)
  items = Distinct.where(parent_id: root_item.id)
  items.each { |item| walk_tree(item.id) }
end

Если модель лежит в базе - то будет куча запросов, от этого избавиться можно сразу прочитав все записи в хеш, и искать по нему
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы