我可以很容易地在Ruby中提升类层次结构:
String.ancestors # [String, Enumerable, Comparable, Object, Kernel]
Enumerable.ancestors # [Enumerable]
Comparable.ancestors # [Comparable]
Object.ancestors # [Object, Kernel]
Kernel.ancestors # [Kernel]
有没有办法也向下递减层次结构?我想这么做
Animal.descendants # [Dog, Cat, Human, ...]
Dog.descendants # [Labrador, GreatDane, Airedale, ...]
Enumerable.descendants # [String, Array, ...]
但是似乎没有descendants
方法。
(之所以出现这个问题,是因为我想在Rails应用程序中查找从基类派生的所有模型并列出它们;我有一个控制器,可以处理任何这样的模型,并且我希望能够添加新模型,而不必修改控制器。)
https://stackoverflow.com/questions/2393697
复制相似问题