2012-03-14 3 views
0

MongoMapperモデルである任意のモデルに対して、デフォルトのbefore_saveコールバックを定義したいと思います。例えば、ActiveRecordのと私はイニシャライザでこれを行うことができます:MongoMapperのデフォルトコールバック

module ActiveRecord 
    class Base 
    before_save :strip_attrs 

    private 

    def strip_attrs 
     # do stuff 
    end 
    end 
end 

それはMongoMapperで、このような何かをすることは可能ですか?

答えて

1

ActiveSupport::Concernプラグインを構築してから、内部プラグインとしてMongoMapper doesのようにMongoMapper :: Documentにプラグインしてみてください。

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 
関連する問題