모듈: Mongoid::Association::접근자
- 확장자:
- ActiveSupport::Concern
- 포함 항목:
- Mongoid::Association
- 다음에 정의됨:
- lib/mongoid/association/accessors.rb
개요
이 모듈에는 게터 및 세터를 통해 연결에 액세스하는 것과 관련된 모든 동작과 새 연결을 생성하기 위해 빌더 에 위임하는 방법이 포함되어 있습니다.
인스턴스 메서드 요약 접기
-
#__build__(name, 객체,association,selected_fields = nil) ⇒ Proxy
관련 문서를 빌드하고 문서가 nil이 아닌 경우 연관 관계를 생성한 다음, 이 문서에 연관 관계를 설정합니다.
-
#create_relation(객체,association,selected_fields = nil) ⇒ 프록시
객체 및 연결 메타데이터 에서 연결을 만듭니다.
-
#reset_relation_criteria(name) ⇒ 객체
연결 프록시 내부의 기준을 재설정합니다.
-
#set_relation(이름, 관계) ⇒ 프록시
제공된 연결을 제공된 이름을 가진 클래스의 인스턴스 변수로 설정합니다.
인스턴스 메서드 세부 정보
#__build__(name, 객체,association,selected_fields = nil) ⇒ Proxy
관련 문서를 빌드하고 문서가 nil이 아닌 경우 연관 관계를 생성한 다음, 이 문서에 연관 관계를 설정합니다.
27 28 29 30 |
# 파일 'lib/mongoid/association/accessors.rb', 줄 27 def __build__(이름, 객체, 연관 관계, selected_fields = nil) 관계 = create_relation(객체, 연관 관계, selected_fields) set_relation(이름, 관계) end |
#create_relation(객체,association,selected_fields = nil) ⇒ 프록시
객체 및 연결 메타데이터 에서 연결을 만듭니다.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# 파일 'lib/mongoid/association/accessors.rb', 줄 44 def create_relation(객체, 연관 관계, selected_fields = nil) 키 = @attributes[연관 관계.inverse_type] 유형 = 키 ? 연관 관계.리졸버.Model_for(키) : nil 대상 = 만약 t = 연관 관계.빌드(self, 객체, 유형, selected_fields) 연관 관계.create_relation(self, t) other nil end # 포함된 연관 관계에서만 이 작업을 수행하면 됩니다. 보류 중인 콜백 # 문서를 구체화할 때만 추가됩니다. 포함된 연결에 대한 #. 데이터베이스 에 대한 호출이 없습니다. # 참조된 연관 관계의 구성. 만약 연관 관계. 배열(대상).각 do |doc| doc.try(:run_pending_callbacks) end end 대상 end |
#reset_relation_criteria(name) ⇒ 객체
연결 프록시 내부의 기준을 재설정합니다. 다대다 연관 관계에서 기본 ID 배열 을 동기화 된 상태로 유지하는 데 사용됩니다.
73 74 75 76 77 |
# 파일 'lib/mongoid/association/accessors.rb', 줄 73 def reset_relation_criteria(이름) 만약 instance_variable_defined?("@_#{name}") send(이름).reset_unloaded end end |