2017-05-19 5 views
-3

모델 B에는 모델 B가 여러 개 있습니다. 모델 B에 저장 한 후 작업을 수행하는 방법이 있습니다. 그것을 건너 뛰는 방법?팩토리 걸 (Factory Girl)을 사용하여 개체를 만들 때 모델 메서드 (after_save 메서드)를 건너 뛰는 방법

+1

[xy 문제] (https://meta.stackexchange.com/a/66378/284887)처럼 들립니다. 코드를 공유하고 콜백을 건너 뛸 필요가있는 이유는 무엇입니까? 콜백이 콜백이 아니어야한다고 생각하지만 명시 적으로 대신 호출되는 메소드입니다. IMHO 테스트하기 어려운 것이 있으면 설계된 소프트웨어를 변경해야 할 필요가 있음을 나타낼 수 있습니다. – 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 위키 라이브러리가 제공하는 옵션 중 일부를 사용하는 방법을 보여주는 좋은 example file 있습니다.