클래스: Mongoid::Association::Referenced::BelongsTo::Binding
- 상속:
-
객체
- 객체
- Mongoid::Association::Referenced::BelongsTo::Binding
- 다음을 포함합니다.
- 바인딩 가능
- 다음에 정의됨:
- lib/mongoid/association/referenced/belongs_to/Binding.rb
개요
types_to 연관 관계를 위한 바인딩 클래스입니다.
인스턴스 속성 요약
Bindable에 포함된 속성
#_association, #_base, #_target
인스턴스 메서드 요약 접기
-
#bind_one ⇒ 객체
기본 객체 를 연관 관계의 역방향에 바인딩합니다.
-
#unbind_one ⇒ 객체
참조를 nil로 설정하여 발생하는 기본 객체 와 역방향 객체의 바인딩을 해제합니다.
Bindable에 포함된 메서드
인스턴스 메서드 세부 정보
#bind_one ⇒ 객체
기본 객체를 연관 관계의 역방향에 바인딩합니다. 이를 통해 양쪽에 있는 실제 객체 자체를 참조할 수 있습니다.
이 경우는 문서 자체뿐만 아니라 역방향 객체에 대한 연관 관계도 설정합니다.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# 파일 'lib/mongoid/association/referenced/belongs_to/Binding.rb', 줄 22 def bind_one 바인딩 do check_polymorphic_inverses!(_target) bind_foreign_key(_base, record_id(_target)) # 역방향 유형을 설정하다 (예 새로운 다형성 연관 관계를 위한 "#{name}_type") 만약 _association.inverse_type && !_base.동결? 키 = _association.리졸버.default_key_for(_target) bind_polymorphic_inverse_type(_base, 키) end 만약 inverse = _association.inverse(_target) 만약 set_base_association 만약 _base.reference_many? _target.__send__(inverse).push(_base) other remove_related(_target) _target.set_relation(inverse, _base) end end end end end |
#unbind_one ⇒ 객체
참조를 nil로 설정하여 발생하는 기본 객체 와 역방향 객체의 바인딩을 해제합니다.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# 파일 'lib/mongoid/association/referenced/belongs_to/Binding.rb', 줄 52 def unbind_one 바인딩 do inverse = _association.inverse(_target) bind_foreign_key(_base, nil) bind_polymorphic_inverse_type(_base, nil) 만약 inverse set_base_association 만약 _base.reference_many? _target.__send__(inverse).삭제(_base) other _target.set_relation(inverse, nil) end end end end |