Я думаю, что это общий вопрос ruby, хотя в моем случае задействованные объекты - это модели ActiveRecord.
Если у меня есть модель, которая может быть вложена в другую модель, как я могу определить, насколько глубоко вложеннаямодель?
IE:
Model Root (Level 0)
- Model Level 1
- - Model Level 2
- - Model Level 2
- - Model Level 2
- - - Model Level 3
- - - Model Level 3
- Model Level 1
- Model Level 1
Например, foo
- это модель, вложенная в три уровня глубиной (как показано выше).Если бы я позвонил foo.parent.parent.parent
, я бы получил корневую модель.
Как я мог бы определить такой метод, как: foo.depth
, который бы возвратил, сколько уровней существует между foo и его корнем?
Спасибо!