This post is also available in: English-US (英語)
Railsで開発していて、例えば、ユーザーモデル(User Model)で コールバック(例として、before_create) を利用している際に、seedファイル(もしくはその他のモデル)などにて処理をスキップしたい場合、以下のようなコードを付け加えると幸せになれるかもって話です。
db:seed の初期データを挿入する時や特定のモデルにて処理をスキップさせたい時などに便利です。
例として、ユーザーモデルにおいて before_create を利用している状態とします。
#User Model class User < ActiveRecord::Base before_create :set_something private def set_something #something end end
で、before_create をスキップするコードを seed.rb などに追加します。
#seed.rb User.skip_callback(:create, :before, :set_something)
また、他の例として before_save を利用している場合には、以下のようなコードになります。
#seed.rb User.skip_callback(:save, :before, :set_something)