클래스: Mongoid::Association::Referenced::HasAndBelongsToMany

상속:
객체
  • 객체
모두 표시
다음을 포함합니다.
Buildable, Mongoid::Association::Relatable
다음에 정의됨:
lib/mongoid/association/referenced/has_and_belongs_to_many.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/Binding.rb,
lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb

개요

HasAndBelongsToMany 유형 연관 관계입니다.

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

모듈: Buildable 클래스: 바인딩, Eager, 프록시

상수 요약 접기

ASSOCIATION_OPTIONS =

일반적인 옵션 외에 이 유형의 연결에 사용할 수 있는 옵션이 있습니다.

반환합니다:

  • (Array<Symbol>)

    예비 유효한 옵션입니다.

[
    :after_add,
    :after_remove,
    :autosave,
    :before_add,
    :before_remove,
    :counter_cache,
    :Dependent,
    :foreign_key,
    :index,
    :order,
    :primary_key,
    :inverse_primary_key,
    :inverse_foreign_key,
    :scope,
].동결
VALID_OPTIONS =

공유 옵션을 포함하여 이 연결에 유효한 옵션의 전체 목록입니다.

반환합니다:

  • (Array<Symbol>)

    유효한 옵션입니다.

(ASSOCIATION_OPTIONS + SHARED_OPTIONS).동결
FOREIGN_KEY_FIELD_TYPE =

외래 키가 들어 있는 필드 의 유형입니다.

반환합니다:

  • (배열)
배열
FORIGN_KEY_SUFFIX =

기본값 외래 키 접미사입니다.

반환합니다:

  • (string)

    ‘_ids’

'_ids'.동결

Mongoid::Association::Relatable에서 포함된 상수

Mongoid::Association::Relatable::PRIMARY_KEY_DEFAULT, Mongoid::Association::Relatable::SHARED_OPTIONS

인스턴스 속성 요약

Mongoid::Association::Relatable에포함된 속성

#name, #options, #parent_inclusions

인스턴스 메서드 요약 접기

Buildable에 포함된 메서드

#build

Mongoid::Association::Relatable에포함된 메서드

#==, #counter_cache_column_name, #create_relation, #destructive?, #extension, #foreign_key_check, #foreign_key_setter, #get_callbacks, #in_to?, #initialize, #inverse, #inverse_association, #inverse_class, #inverse_class_name, #inverse_setter, #inverse_type, #inverse_type_setter, #inverses, #key, #many?, #one?, #relation_class, #relation_class_name, #setter, #type_setter, #validate?

옵션에 포함된 메서드

#as, #autobuild?, #autosave, #cascading_callbacks?, #counter_cached?, #Cyclic?, #Dependent, #indexed?, #inverse_of, #order, #polymorphic?, #primary_key, #store_as, #터치_필드, #터치 가능?, #type

Constrainable에 포함된 메서드

#convert_to_foreign_key

인스턴스 메서드 세부 정보

#bindable?(doc) ⇒ true | false

이 연결을 사용하여 객체를 바인딩하려고 하면 오류가 발생해야 하는지 여부입니다.

매개변수:

  • doc (문서)

    바인딩할 문서입니다.

반환합니다:

  • (true | false)

    문서를 바인딩할 수 있는지 여부입니다.



136
137
138
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 136

def 바인딩 가능?(doc)
  forced_nil_inverse? || (!!inverse && doc.필드..포함?(foreign_key))
end

#criteria(base, id_list = nil) ⇒ Mongoid::Criteria

이 연관 관계를 쿼리하는 데 사용되는 기준입니다.

반환합니다:

  • (Mongoid::Criteria)

    이 연관 관계를 쿼리하는 데 사용되는 기준입니다.



110
111
112
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 110

def 기준(base, id_list = nil)
  query_criteria(id_list || base.send(foreign_key))
end

#embedded?false

이 연결 유형이 포함되어 있나요?

반환합니다:

  • (false)

    항상 거짓입니다.



73
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 73

def 임베디드?; 거짓; end

#forceed_nil_inverse?true | false

ID는 연결의 이 쪽에만 저장되나요?

반환합니다:

  • (true | false)

    이 연관 관계에 강제 nil 역이 있는지 여부입니다.



83
84
85
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 83

def forced_nil_inverse?
  @forced_nil_inverse ||= @options.키?(:inverse_of) && !@options[:inverse_of]
end

#foreign_keystring

연결 참조를 저장하기 위한 외래 키 필드 를 가져옵니다.

반환합니다:

  • (string)

    연결 참조를 저장하기 위한 외래 키 필드 입니다.



102
103
104
105
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 102

def foreign_key
  @foreign_key ||= @options[:foreign_key] ? @options[:foreign_key].to_s :
                     default_foreign_key_field
end

#inverse_foreign_keystring

역방향에서 외래 키 필드 를 가져옵니다.

반환합니다:

  • (string)

    연관 참조를 역방향에 저장하기 위한 외래 키 필드 입니다.



118
119
120
121
122
123
124
125
126
127
128
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 118

def inverse_foreign_key
  만약 @options.키?(:inverse_foreign_key)
    @options[:inverse_foreign_key]
  elsif @options.키?(:inverse_of)
    inverse_of ? "#{inverse_of.to_s.Singularize}#{FOREIGN_KEY_SUFFIX}" : nil
  elsif inv = inverse_association&.foreign_key
    inv
  other
    "#{ inverse_class_name.
  end
end

#inverse_foreign_key_setterString

역방향에서 외래 키 설정자를 가져옵니다.

반환합니다:

  • (string)

    역방향 연결 참조를 저장하기 위한 외래 키 설정기입니다.



144
145
146
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 144

def inverse_foreign_key_setter
  @inverse_foreign_key_setter ||= "#{inverse_forign_key}=" 만약 inverse_foreign_key
end

# 중첩된_빌더(속성, 옵션) ⇒ 연관 관계::중첩::원

중첩된 빌더 객체 입니다.

매개변수:

  • 속성 (해시)

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

  • 옵션 (해시)

    연결에 대한 옵션입니다.

반환합니다:



154
155
156
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 154

def 중첩된_빌더(속성, 옵션)
  중첩::Many.신규(self, 속성, 옵션)
end

#경로(문서) ⇒ 루트

제공된 문서 의 경로 계산기를 가져옵니다.

예시:

경로 계산기를 가져옵니다.

association.path(document)

매개변수:

  • 문서 (문서)

    계산할 문서입니다.

반환합니다:

  • (Root)

    루트 원자 경로 계산기.



166
167
168
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 166

def 경로(문서)
  몽고이드::원자::경로::루트.신규(문서)
end

#관계연관 관계::HasAndBelongsToMany::Proxy

이 연결 유형에 대한 연결 프록시 클래스를 가져옵니다.

반환합니다:

  • (연관 관계::HasAndBelongsToMany::Proxy)

    프록시 클래스입니다.



95
96
97
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 95

def 관계
  프록시
end

#관계 _complements ⇒ Array<Mongoid::Association::Relatable>

연관 관계 보완 목록입니다.

반환합니다:



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

def 관계_보완
  @relation_complements ||= [ self.클래스 ].동결
end

#scopeProc | Symbol | nil

연관 관계를 쿼리할 때 적용될 범위를 가져옵니다.

반환합니다:

  • (Proc | Symbol | nil)

    연관 관계 범위(있는 경우).



173
174
175
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 173

def 범위
  @options[:scope]
end

#설정!자기

연결을 소유한 클래스에서 인스턴스 메서드, 필드 등을 설정합니다.

반환합니다:

  • (self)


65
66
67
68
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 65

def 설정!
  setup_instance_methods!
  self
end

#stores_foreign_key?true

이 연결 유형이 외래 키를 저장 하나요?

반환합니다:

  • (true)

    항상 사실입니다.



90
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 90

def Stores_foreign_key?; true; end

#validation_defaultfalse

연결 객체 유효성 검사 의 기본값 입니다.

반환합니다:

  • (false)

    항상 거짓입니다.



78
# 파일 'lib/mongoid/association/referenced/has_and_belongs_to_many.rb', 줄 78

def validation_default; true; end