Расширение Mongoid методами класса и экземпляра из Gem - PullRequest
1 голос
/ 22 марта 2011

в ActiveRecord, я привык это делать:

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

И это работает как шарм.

Но я не могу добиться того же результата в Mongoid.Я попробовал это безуспешно:

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

Я использую rails3, и мне нужно включить методы класса и экземпляра.

Ответы [ 2 ]

1 голос
/ 04 апреля 2011

Если вы хотите добавить методы класса в Mongoid :: Document, возможно, вам следует попытаться расширить его. В любом случае, для такой задачи предпочтительно использовать ActiveSupport :: Concern. Например, см. Этот пост: Использование ActiveSupport :: Concert

0 голосов
/ 18 марта 2015

Я не могу комментировать ответ выше, но новый URL, который заменяет тот, который указал Роман: http://pivotallabs.com/using-activesupport-concern-for-easy-mix-ins/

...