클래스: 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 |
# 파일 'lib/mongoid/association/referenced/belongs_to/Binding.rb', 줄 22 def bind_one 바인딩 do check_polymorphic_inverses!(_target) bind_foreign_key(_base, record_id(_target)) bind_polymorphic_inverse_type(_base, _target.클래스.이름) 만약 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로 설정하여 발생하는 기본 객체 와 역방향 객체의 바인딩을 해제합니다.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# 파일 'lib/mongoid/association/referenced/belongs_to/Binding.rb', 줄 46 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 |