after_commit on : : 내 모델에서 콜백 생성 : 두 번 호출됩니다. 이 콜백에는 6 개의 메소드가 있는데, 그 중 일부는 내 데이터베이스에 삽입됩니다. 나는 두려운 일이 느려지고 내 데이터베이스가 너무 빨리 성장할 것입니다.Rails 콜백이 두 번 호출되는 이유는 무엇입니까?
내 before_create after_create 콜백이 한 번만 실행된다는 것은 이상한 일입니다. 무엇이 이것을 일으킬 수 있습니까?
after_commit on : : 내 모델에서 콜백 생성 : 두 번 호출됩니다. 이 콜백에는 6 개의 메소드가 있는데, 그 중 일부는 내 데이터베이스에 삽입됩니다. 나는 두려운 일이 느려지고 내 데이터베이스가 너무 빨리 성장할 것입니다.Rails 콜백이 두 번 호출되는 이유는 무엇입니까?
내 before_create after_create 콜백이 한 번만 실행된다는 것은 이상한 일입니다. 무엇이 이것을 일으킬 수 있습니까?
짧은 답변 : after_commit
긴 대답 대신 after_save 사용은 : 나는 before_create를 사용하여 발견 How to organize complex callbacks in Rails?
이 문제를 해결했다. 당신은 before_save 후크마다 발사하는
user = User.new
user.save
:
당신은을 사용
.before_create
작동하지 않았다 불행하게도
, 여전히 두 번 호출 작동합니다. – Bholzer
몇 가지 코드를 보여 주시겠습니까? 콜백 내부에서 저장 하시겠습니까? – house9
아니요, 제가 있어야합니까? 'after_commit : func1, : func2, : func3, : func4, func5, : func6, on : : create' 생성 중에도 'model.save'가 콜백을 트리거하는 것 같습니다. 그게 정상인가요? – Bholzer