클래스: Mongoid::Association::Referenced::HasOne::Proxy

상속:
one
  • 객체
모두 표시
확장자:
클래스 메서드
다음에 정의됨:
lib/mongoid/association/referenced/has_one/proxy.rb

개요

has_one 연결을 위한 투명한 프록시입니다. 이 클래스의 인스턴스 는 주제 문서 에서 연관 게터 메서드를 호출할 때 반환됩니다. 이 클래스는 Mongoid::Association::Proxy를 상속하고 해당 메서드의 대부분을 연관 관계의 대상, 즉 로드해야 하는 반대편 컬렉션 의 문서 에 전달합니다.

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

모듈: 클래스 메서드

상수 요약

프록시에서 상속된 상수

Proxy::KEEPER_METHODS

인스턴스 속성 요약

프록시에서 상속된 속성

#_association, #_base, #_target

인스턴스 메서드 요약 접기

ClassMethods에 포함된 메서드

explain_loader, embedded?

One에서 상속된 메서드

#__evolve_object_id__, #clear, #in_memory, #respond_to?

프록시에서 상속된 메서드

apply_ordering, #extend_proxys, #klass, #reset_unloaded, #substutable

마셜러블에 포함된 메서드

#marshal_dump, #marshal_load

생성자 세부 정보

#initialize(base, target,association) ⇒ Proxy

새 reference_one 연관 관계를 인스턴스화합니다. 역방향 객체에 외래 키와 기준을 설정합니다.

예시:

새 연결을 만듭니다.

Referenced::One.new(base, target, association)

매개변수:



43
44
45
46
47
48
49
50
# 파일 'lib/mongoid/association/referenced/has_one/proxy.rb', 줄 43

def 초기화(base, 대상, 연관 관계)
  super do
    raise_mixed 만약 class.임베디드? && !class.주기적?
    Characterize_one(_target)
    bind_one
    _target.저장 만약 지속 가능?
  end
end

인스턴스 메서드 세부 정보

#nullify객체

외래 키와 참조를 삭제하고 프로세스 에서 대상 문서 를 분리하여 기본 문서 와 대상 문서 간의 연결을 제거합니다.

예시:

연관 관계를 무효화합니다.

person.game.nullify


58
59
60
61
# 파일 'lib/mongoid/association/referenced/has_one/proxy.rb', 줄 58

def nullify
  unbind_one
  _target.저장
end

#대체(교체) ⇒ 1개

연결의 기존 문서 를 제공된 대상 문서 로 대체합니다. 새 대상이 nil인 경우 필요한 삭제를 수행합니다.

예시:

연결을 교체합니다.

person.game.substitute(new_game)

매개변수:

  • 교체 (Array<Document>)

    대체 대상입니다.

반환합니다:



73
74
75
76
# 파일 'lib/mongoid/association/referenced/has_one/proxy.rb', 줄 73

def 대체(교체)
  prepare_for_replacement 만약 self != 교체
  Has One::프록시.신규(_base, 교체, _association) 만약 교체
end