有谁知道一种简单的方法来获取所有包含MongoMapper::Document的模型的类名?
MongoMapper类似乎没有ActiveRecord::Base.subclasses的等价物。
我能想到的最好的办法就是使用MongoMapper.database.collection_names和一些ObjectSpace黑客。
更复杂的是,我在app/models文件夹中有模块(子文件夹)。因此,class DS::Thingy在我的apps/models/ds/thingy.rb中。
发布于 2011-08-16 19:15:38
不如这样吧:
class MongoModels
def self.all
@@models ||= []
end
end
module MongoMapper
module Document
def self.included(klass)
MongoModels.all << klass
end
end
end然后MongoModels::all将返回一个模型数组。
MongoMapper的document.rb做到了:
included do
extend Plugins
extend Translation
end所以你可能需要复制它。
https://stackoverflow.com/questions/7072068
复制相似问题