我想用实例方法扩展所有我的Mongoid::Document
。与其制作一个模块并将其包含到每个我想扩展的 Mongoid::Document
中,不如有另一种方法。
例如,对于 ruby 类 Array,我会简单地重新打开这个类并添加我想要的方法:
class Array
def my_new_method
#....
end
end
但是对于 Mongoid::Document
我该怎么做呢?
最佳答案
我会这样做
module Mongoid::Document
def self.validate
...
end
end
但是,我会避免打开外部模块(即使你这看起来)是 ruby 社区中常见的事情。反对显式包含您自己的模块的原因是什么?
关于ruby - 使用实例方法扩展我所有的 Mongoid 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15037938/