我认为这是一个普遍的红宝石问题,尽管在我的情况下,所涉及的对象是 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 和它的根之间有多少级别?
谢谢!