[RUBY-ON-RAILS] 레일 : 의존 => VS 파괴 : 의존 => : DELETE_ALL를
RUBY-ON-RAILS레일 : 의존 => VS 파괴 : 의존 => : DELETE_ALL를
레일 가이드에서는이 같은 설명은 다음과 같습니다
오른쪽, 냉각. 그러나 파괴되고 삭제되고의 차이는 무엇인가? 나는 모두를 시도하고 같은 일을 할 것으로 보인다.
해결법
-
==============================
1.차이는 콜백이다.
차이는 콜백이다.
: DELETE_ALL는 응용 프로그램에서 직접 및 SQL에 의해 삭제됩니다 :
DELETE * FROM users where compagny_id = XXXX
(가)와 함께 : 파괴, 당신의 모든 자녀들의 인스턴스가있다. 그래서, 당신은 그것을 파괴 할 수없는 경우 또는 각각의 경우 자신의 : 의존, 그 콜백을 호출 할 수 있습니다.
-
==============================
2.다음과 같은 세 가지 형태 중 하나를 취할 수 있습니다 따라 옵션 : 레일 '모델 협회에서 당신은을 지정할 수 있습니다 :
다음과 같은 세 가지 형태 중 하나를 취할 수 있습니다 따라 옵션 : 레일 '모델 협회에서 당신은을 지정할 수 있습니다 :
-
==============================
3.DELETE_ALL 테이블에서 삭제 *로 자기 테이블에서 여러 데이터를 삭제할 수있는 삭제에게 관련 요소를 파괴보기 어디 필드 = 'XYZ'
DELETE_ALL 테이블에서 삭제 *로 자기 테이블에서 여러 데이터를 삭제할 수있는 삭제에게 관련 요소를 파괴보기 어디 필드 = 'XYZ'
: 종속 가능한 옵션 :
그들의 소유자가 파괴 될 때 연관된 객체 어떻게되는지를 제어합니다. 다음은 콜백으로 구현하고, 레일 참고 순서대로 콜백을 실행합니다. 따라 행동하고 : : 따라서, 다른 유사한 콜백은 영향을 미칠 수 있습니다 의존 동작은 다른 콜백에 영향을 미칠 수 있습니다.
: 또한 파괴에 원인 모든 연관된 객체를 파괴한다.
: DELETE_ALL 모든 연관된 객체 데이터베이스에서 직접 삭제됩니다 (콜백이 실행되지 않도록).
: 무효 원인이 외부 키가 NULL로 설정합니다. 콜백은 실행되지 않습니다.
: restrict_with_exception은 관련 기록이있는 경우 예외를 발생시킨다.
: restrict_with_error은 연관된 객체가있는 경우 오류가 소유자에 추가됩니다.
와 함께 사용하는 경우 : 옵션을 통해, 온 협회는 모델이 belongs_to해야 가입, 삭제 얻을 기록은 오히려 관련 기록보다 기록에 참여할 수 있습니다.
-
==============================
4.DELETE_ALL 사용 하였다 : 실제로 주요 차이점은 때 어떤 콜백이 호출되지 않을 것입니다. 그러나 사용했을 때 (: after_destroy : after_commit ...) 발사 될 콜백 스택 파괴한다.
DELETE_ALL 사용 하였다 : 실제로 주요 차이점은 때 어떤 콜백이 호출되지 않을 것입니다. 그러나 사용했을 때 (: after_destroy : after_commit ...) 발사 될 콜백 스택 파괴한다.
따라서, 당신은 터치가있는 경우 : 모델의 선언을 보내고 삭제 된 후 종속 사용하는 것이 좋습니다 : DELETE_ALL 오히려 '의존 : 파괴'.
from https://stackoverflow.com/questions/2797339/rails-dependent-destroy-vs-dependent-delete-all by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 매버릭스 내 Mac에서 PG 보석을 설치하는 것이 불가능 (0) | 2020.02.06 |
---|---|
[RUBY-ON-RAILS] 왜 부분을 렌더링하기 전에 escape_javascript? (0) | 2020.02.05 |
[RUBY-ON-RAILS] 초기화되지 않은 상수의 ActiveSupport :: 종속성 :: 뮤텍스 (나가서 설명하자면 NameError) (0) | 2020.02.05 |
[RUBY-ON-RAILS] 레일에 대한 해제 액티브 4 (0) | 2020.02.05 |
[RUBY-ON-RAILS] 클립에 의해 URL에서 이미지 저장 (0) | 2020.02.05 |