使用Gem中的类和实例方法扩展Mongoid

时间:2011-03-21 21:29:12

标签: ruby-on-rails ruby-on-rails-3 gem mongoid

ActiveRecord中,我习惯这样做:

ActiveRecord::Base.send :include, MyGem::ActsAsMagnific::Base

它就像一个魅力。

但我无法在Mongoid中获得相同的结果。我试了这个没有成功:

Mongoid::Document::ClassMethods.class_eval do
  include MyGem::ActsAsMagnific::Base
end

我正在使用rails3而且我要包含类和实例方法。

2 个答案:

答案 0 :(得分:1)

如果你想为Mongoid :: Document添加类方法,也许你应该尝试扩展它。 在任何情况下,最好使用ActiveSupport :: Concern来完成这样的任务。 例如,请看这篇文章: Using ActiveSupport::Concert

答案 1 :(得分:0)

我不能对上面的答案发表评论,但取代罗马所说的新网址是:http://pivotallabs.com/using-activesupport-concern-for-easy-mix-ins/