読者です 読者をやめる 読者になる 読者になる

リア充爆発日記

You don't even know what ria-ju really is.

FactoryGirlでmodelのbefore_createとかを飛ばしたいとき

FactoryGirlに限った話じゃないけど。

で、どうするかというとskip_callbackを事前に呼ぶ。

Model.skip_callback(:create, :before, :set_default_status)

:set_default_statusは任意のフィルター。
いろいろやってみたけど

before_create { self.status = "active" }

みたいなブロックはskipできないみたい。

あと、rspecとかでskipすると今度はそのあとのbefore_createのテストがこける可能性があるので、事前にset_callbackを呼ぶなりする必要がある。なんか、このあたりがモヤモヤするんだよなぁ。。。