MongoMapper默认回调

时间:2012-03-14 21:25:10

标签: mongomapper

我想为任何MongoMapper模型的模型定义一个默认的before_save回调。例如,使用ActiveRecord,我可以在初始化程序中执行此操作:

module ActiveRecord
  class Base
    before_save :strip_attrs

    private

    def strip_attrs
      # do stuff
    end
  end
end

是否可以使用MongoMapper做这样的事情?

1 个答案:

答案 0 :(得分:1)

尝试构建一个ActiveSupport::Concern插件,然后将其插入MongoMapper :: Document,就像MongoMapper does内部插件一样。

module StripOnSave
  extend ActiveSupport::Concern

  included do
    before_save :strip_attrs
  end

  def strip_attrs
    # ...
  end
end

module MongoMapper
  module Document
    include StripOnSave
  end

  module EmbeddedDocument
    include StripOnSave
  end
end