모듈: Mongoid::Association::Referenced::BelongsTo::Buildable

포함 항목:
Mongoid::Association::Referenced::BelongsTo
다음에 정의됨:
lib/mongoid/association/referenced/belongs_to/buildable.rb

개요

types_to 연관 관계에 대한 빌더 동작입니다.

인스턴스 메서드 요약 접기

인스턴스 메서드 세부 정보

#빌드(_base, 객체, type = nil,selected_fields = nil) ⇒ 문서

이 메서드는 _id 또는 객체 를 가져와서 id를 사용하여 역방향을 쿼리하거나 객체 를 설정합니다.

예시:

문서를 작성합니다.

relation.build(meta, attrs)

매개변수:

  • base (객체)

    기본 객체입니다.

  • 객체 (객체)

    연결을 빌드 하는 데 사용할 객체 입니다.

  • 유형 (string) (기본값: nil)

    연관 관계의 유형입니다.

  • selected_fields (nil) (기본값: nil)

    nil이어야 합니다.

반환합니다:

  • (문서)

    단일 문서입니다.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 파일 'lib/mongoid/association/referenced/belongs_to/buildable.rb', 줄 21

def 빌드(_base, 객체, 유형 = nil, selected_fields = nil)
  반환 객체 하지 않는 한 쿼리?(객체)

  # $lookup 집계 에서 배열 처리합니다(Bened_to에 대해서도 배열 반환).
  만약 객체.is_a?(배열)
    first = 객체.first
    case first
    when nil, 몽고이드::문서 then 반환 first
    when 해시 then 반환 공장.execute_from_db(class, first, nil, selected_fields,
                                                  execution_callbacks: 거짓)
    other 올리다 ArgumentError, ' 배열 에서 exists_to 연관 관계를 빌드 할 없습니다. '
    end
  end

  # $unwind로 $lookup의 단일 해시 처리
  만약 객체.is_a?(해시)
    반환 공장.execute_from_db(class, 객체, nil, selected_fields, execution_callbacks: 거짓)
  end

  execution_query(객체, 유형)
end