【问题标题】:Extending Mongoid with class and instance methods from Gem使用 Gem 中的类和实例方法扩展 Mongoid
【发布时间】:2011-03-21 21:29:12
【问题描述】:

ActiveRecord,我习惯这样做:

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

它就像一个魅力。

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

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

我正在使用 rails3,我必须包含类和实例方法。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 看起来是一个很好的答案,我会仔细研究一下。谢谢
    • :) 我已经拒绝了这个问题,直到我需要解决它。但我会发布另一个问题。我认为这解决了:)
    【解决方案2】:

    我无法对上面的答案发表评论,但替换 Roman 所说的新 URL 是:http://pivotallabs.com/using-activesupport-concern-for-easy-mix-ins/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多