2017-05-19 5 views
-3

モデルBにはモデルBが多く、モデルBには保存後に何か処理を行う方法があります。それをスキップする方法は?ファクトリーガールでオブジェクトを作成するときにモデルのメソッド(after_saveメソッド)をスキップする方法

+1

[xy問題](https://meta.stackexchange.com/a/66378/284887)のように聞こえます。コードを共有して、コールバックをスキップする必要がある理由を教えてください。コールバックがコールバックではなく、代わりに明示的に呼び出されるメソッドであると私は感じます。テストするのが難しい場合は、設計したソフトウェアを変更する必要があるかもしれません。 – spickermann

+0

"[ask]"と "[mcve]"を読んでください。もっと情報が必要です。 –

答えて

1

factory_girlのafter(:build)コールバックを使用してコールバックをスキップできます。

FactoryGirl.define do 
    factory :model_b do 
    after(:build) {|model_b| model_b.class.skip_callback(:save, :after, :your_callback)} 
    end 
end 

factory_girlのwikiは、ライブラリが提供するオプションの一部を使用する方法を示す素晴らしいexample fileを持っています。

関連する問題