1

레코드를 삽입 할 때 웹 서비스를 호출해야하는 모델이 있습니다.레일 3 : after_save에 취소 입력

웹 서비스가 실패하면 (시간 초과 또는 기타 실패) 데이터베이스의 저장도 되돌려 야합니다.

이 오류가 발생하면 after_save 콜백을 사용하고 ActiveRecord :: Rollback을 발생 시키려고했습니다.

object.save에서 false를 반환하지만 트랜잭션을 롤백하지 않습니다. 이 일을하는 올바른 방법은 무엇입니까?

레코드가 생성되지 않도록하려면 어떻게해야합니까?

답변

1

시도합니다.

+0

이것은 업데이트를 위해 또한 트리거합니다. –

+0

모델에서'id' presense를 확인할 수 있습니다. 'id'는 데이터베이스에 삽입 한 후에 만 ​​나타납니다. –