我有一个名为
Nameable
的模块以及包含此模块的一些模型。
有没有办法知道哪些模型(类)包含了这个模块?
另一种方法是:
ActiveRecord::Base.descendants.map { |model| model.include?(Nameable) }
这将为您提供值列表
true
或 false
,具体取决于模型是否包含 Nameable
模块。
您可以操纵
map
的主体来返回您喜欢的数据(我无法从您的问题中获得)。
我想出了如何至少找到所有类的名称。
Module.constants.select { |c| (eval c.to_s).is_a?(Class) && (eval c.to_s).include?(Nameable)}
我不确定这是否是最好的方法。