2012-08-04 3 views
3

after_commit on : : 내 모델에서 콜백 생성 : 두 번 호출됩니다. 이 콜백에는 6 개의 메소드가 있는데, 그 중 일부는 내 데이터베이스에 삽입됩니다. 나는 두려운 일이 느려지고 내 데이터베이스가 너무 빨리 성장할 것입니다.Rails 콜백이 두 번 호출되는 이유는 무엇입니까?

내 before_create after_create 콜백이 한 번만 실행된다는 것은 이상한 일입니다. 무엇이 이것을 일으킬 수 있습니까?

답변

2

짧은 답변 : after_commit

긴 대답 대신 after_save 사용은 : 나는 before_create를 사용하여 발견 How to organize complex callbacks in Rails?

+0

, 여전히 두 번 호출 작동합니다. – Bholzer

+2

몇 가지 코드를 보여 주시겠습니까? 콜백 내부에서 저장 하시겠습니까? – house9

+1

아니요, 제가 있어야합니까? 'after_commit : func1, : func2, : func3, : func4, func5, : func6, on : : create' 생성 중에도 'model.save'가 콜백을 트리거하는 것 같습니다. 그게 정상인가요? – Bholzer

0

이 문제를 해결했다. 당신은 before_save 후크마다 발사하는

user = User.new 
user.save 

:

당신은을 사용

.
before_create 

작동하지 않았다 불행하게도

관련 문제