Задать вопрос
@eldar_web

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

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


Как можно перебирать все id-шники начиная от главного до последнего дочернего?
Гэмы не предлагать!!!
  • Вопрос задан
  • 863 просмотра
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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

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

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

Похожие вопросы