모듈: Mongoid::Persistable::Destoryable

확장자:
ActiveSupport::Concern
포함 항목:
Mongoid::Persistable
다음에 정의됨:
lib/mongoid/persistable/destoryable.rb

개요

문서를 파기하는 지속성 작업의 동작을 정의합니다.

네임스페이스 아래에 정의됨

모듈: 클래스 메서드

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#파괴(옵션 = nil) ⇒ true | false

콜백을 사용하여 데이터베이스 에서 문서 를 제거합니다.

예시:

문서를 파기합니다.

document.destroy

매개변수:

  • 옵션 (해시) (기본값: nil)

    옵션.

옵션 해시(options):

  • :persist (true | false)

    삭제 조치 을 유지할지 여부입니다. 콜백은 false인 경우에도 계속 실행 됩니다.

  • :suppress (true | false)

    내장된 문서 를 삭제할 때 상위 문서 를 메모리 내에서 업데이트 할지 여부입니다.

반환합니다:

  • (true | false)

    성공적인 하면 참, 실패하면 거짓.

다음을 발생시킵니다.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 파일 'lib/mongoid/persistable/destroyable.rb', 줄 23

def 파괴(옵션 = nil)
  올리다 오류::ReadonlyDocument.신규(self.클래스) 만약 읽기 전용?
  self.flagged_for_destory = true
  결과 = run_callbacks(: 커밋, skip_if: -> { in_transaction? }) do
    run_callbacks(:destory) do
      만약 catch(:abort) { apply_destory_dependencies! }
        삭제(옵션 || {}). do |res|
          만약 res && in_transaction?
            스레드.add_modified_document(_session, self)
          end
        end
      other
        거짓
      end
    end
  end
  self.flagged_for_destory = 거짓
  결과
end

#파괴!(options = {}) ⇒ true

콜백을 사용하여 데이터베이스 에서 문서 를 제거합니다. 문서 가 파기되지 않으면 오류가 발생합니다.

예시:

문서를 파기합니다.

document.destroy!

매개변수:

  • 옵션 (해시) (기본값: {})

    옵션.

옵션 해시(options):

  • :persist (true | false)

    삭제 조치 을 유지할지 여부입니다. 콜백은 false인 경우에도 계속 실행 됩니다.

  • :suppress (true | false)

    내장된 문서 를 삭제할 때 상위 문서 를 메모리 내에서 업데이트 할지 여부입니다.

반환합니다:

  • (true)

    항상 사실입니다.



59
60
61
# 파일 'lib/mongoid/persistable/destroyable.rb', 줄 59

def 파괴!(옵션 = {})
  파괴(옵션) || 올리다(오류::DocumentNotDestoryed.신규(_id, self.클래스))
end