@eldar_web

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

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


Как можно перебирать все id-шники начиная от главного до последнего дочернего?
Гэмы не предлагать!!!
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 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

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

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

Войти через TM ID
Похожие вопросы
Randewoo.ru Москва
от 120 000 до 180 000 руб.
Lending Solutions Group LLC Москва
от 120 000 до 200 000 руб.
от 90 000 до 200 000 руб.
14 авг. 2018, в 16:33
1000 руб./за проект
14 авг. 2018, в 16:15
6000 руб./за проект
14 авг. 2018, в 16:12
500 руб./за проект