모듈: Mongoid::Association
- 확장자:
- ActiveSupport::Concern
- 다음을 포함합니다.
- 접근 자, 빌더, 종속성, Embedded::Cyclic, 매크로, Referenced:: Auto Save , Referenced::CounterCache, Referenced::Syncable, 리플렉션
- 포함 항목:
- 컴포저블
- 다음에 정의됨:
- lib/mongoid/association.rb,
lib/mongoid/association/one.rb,
lib/mongoid/association/many.rb,
lib/mongoid/association/eager.rb,
lib/mongoid/association/proxy.rb,
lib/mongoid/association/macos.rb,
lib/mongoid/association/nested.rb,
lib/mongoid/association/options.rb,
lib/mongoid/association/bindable.rb,
lib/mongoid/association/ 빌더.rb,
lib/mongoid/association/accessors.rb,
lib/mongoid/association/depending.rb,
lib/mongoid/association/relatable.rb,
lib/mongoid/association/nested/one.rb,
lib/mongoid/association/marshalable.rb,
lib/mongoid/association/nested/many.rb,
lib/mongoid/association/reflections.rb,
lib/mongoid/association/constrainable.rb,
lib/mongoid/association/eager_loadable.rb,
lib/mongoid/association/embedded/eager.rb,
lib/mongoid/association/embedded/Cyclic.rb,
lib/mongoid/association/embedded/batchable.rb,
lib/mongoid/association/referenced/has_one.rb,
lib/mongoid/association/embedded/embeds_one.rb,
lib/mongoid/association/referenced/has_many.rb,
lib/mongoid/association/referenced/syncable.rb,
lib/mongoid/association/embedded/embedded_in.rb,
lib/mongoid/association/embedded/embeds_many.rb,
lib/mongoid/association/referenced/auto_save.rb,
lib/mongoid/association/referenced/belongs_to.rb,
lib/mongoid/association/nested/nested_buildable.rb,
lib/mongoid/association/referenced/counter_cache.rb,
lib/mongoid/association/referenced/has_one/eager.rb,
lib/mongoid/association/referenced/has_one/proxy.rb,
lib/mongoid/association/embedded/embeds_one/proxy.rb,
lib/mongoid/association/referenced/has_many/eager.rb,
lib/mongoid/association/referenced/has_many/proxy.rb,
lib/mongoid/association/embedded/embedded_in/proxy.rb,
lib/mongoid/association/embedded/embeds_many/proxy.rb,
lib/mongoid/association/referenced/has_one/Binding.rb,
lib/mongoid/association/embedded/embeds_one/Binding.rb,
lib/mongoid/association/referenced/belongs_to/eager.rb,
lib/mongoid/association/referenced/belongs_to/proxy.rb,
lib/mongoid/association/referenced/has_many/Binding.rb,
lib/mongoid/association/embedded/embedded_in/Binding.rb,
lib/mongoid/association/embedded/embeds_many/Binding.rb,
lib/mongoid/association/referenced/has_one/buildable.rb,
lib/mongoid/association/embedded/embeds_one/buildable.rb,
lib/mongoid/association/referenced/belongs_to/Binding.rb,
lib/mongoid/association/referenced/has_many/buildable.rb,
lib/mongoid/association/embedded/embedded_in/buildable.rb,
lib/mongoid/association/embedded/embeds_many/buildable.rb,
lib/mongoid/association/referenced/has_many/enumerable.rb,
lib/mongoid/association/referenced/belongs_to/buildable.rb,
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
개요
Mongoid 문서 에 연관 동작을 추가하는 Mixin 모듈입니다. #embedded? 문서의 상대적 연결 상태 를 나타냅니다.
네임스페이스 아래에 정의됨
모듈: 접근 자, 바인딩가능, 빌더, 제약 가능 , 종속, EagerLoadable, 임베디드, 매크로, 마셜 가능 , 중첩 , 옵션 , 참조 됨 , 리플렉션 , 관련 가능한 클래스: Eager, Many, One, Proxy
상수 요약 접기
- MACRO_MAPPING =
매크로를 해당 연관 클래스에 매핑합니다.
{ embeds_one: 연관 관계::Embedded::Embeds One, embeddeds_many: 연관 관계::Embedded::Embeds Many, embedded_in: 연관 관계::Embedded::EmbeddedIn, has_one: 연관 관계::참조됨::Has One, has_many: 연관 관계::참조됨::Has Many, has_and_belongs_to_many: 연관 관계::참조됨::Has And Belongs To Many, exist_to: 연관 관계::참조됨::Belongs To, }.동결
종속에서 포함된 상수
인스턴스 속성 요약 접기
-
#_association ⇒ 객체
속성 _association의 값을 반환합니다.
인스턴스 메서드 요약 접기
-
#association_name ⇒ 기호
이 문서 의 연결 이름을 가져옵니다.
-
#embedded? ⇒ true | false
적절한 채널을 통해 문서 자체가 다른 문서에 포함되어 있는지 확인합니다.
-
#embedded_many? ⇒ true | false
문서 가 embeddeds_many 연관 관계의 일부인지 확인합니다.
-
#embedded_one? ⇒ true | false
문서 가 embeddeds_one 연관 관계의 일부인지 확인합니다.
-
#referenced_many? ⇒ true | false
문서 가 reference_many 연관 관계의 일부인지 확인합니다.
-
#referenced_one? ⇒ true | false
문서 가 reference_one 연관 관계의 일부인지 확인합니다.
-
#reload_relations ⇒ 해시
로드된 연관 관계를 반복하고 다시 로드하기 위한 편리한 메서드입니다.
리플렉션에 포함된 메서드
#reflect_on_all_association, #reflect_on_association
매크로에 포함된 메서드
종속성에 포함된 메서드
#apply_destory_dependencies!, 정의_종속성!, 유효성을 검사합니다!
접근자에 포함된 메서드
#__build__, #create_relation, #reset_relation_criteria, #set_relation
Referenced::Syncable에 포함된 메서드
#_syncable?, #_synced, #_synced?, #remove_inverse_keys, #update_inverse_keys
Referenced::CounterCache에 포함된 메서드
Referenced::Auto Save에 포함된 메서드
#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!
인스턴스 속성 세부 정보
#_association ⇒ 객체
속성 _association의 값을 반환합니다.
51 52 53 |
# 파일 'lib/mongoid/association.rb', 51줄 def _association @_association end |
인스턴스 메서드 세부 정보
#association_name ⇒ 기호
이 문서 의 연결 이름을 가져옵니다. 연관 관계가 정의되지 않은 경우
an error will be raised.
98 99 100 101 |
# 파일 'lib/mongoid/association.rb', 98줄 def association_name 올리다 오류::NoMetadata.신규(self.클래스.이름) 하지 않는 한 _association _association.이름 end |
#embedded? ⇒ true | false
적절한 채널을 통해 문서 자체가 다른 문서 에 포함되어 있는지 확인합니다. (부모 문서 가 있는 경우)
65 66 67 |
# 파일 'lib/mongoid/association.rb', 65줄 def @embedded ||= (주기적 ? _parent.현재? : self.클래스.) end |
#embedded_many? ⇒ true | false
문서 가 embeddeds_many 연관 관계의 일부인지 확인합니다.
75 76 77 |
# 파일 'lib/mongoid/association.rb', 75줄 def _association && _association.is_a?(연관 관계::Embedded::Embeds Many) end |
#embedded_one? ⇒ true | false
문서 가 embeddeds_one 연관 관계의 일부인지 확인합니다.
85 86 87 |
# 파일 'lib/mongoid/association.rb', 85줄 def _association && _association.is_a?(연관 관계::Embedded::Embeds One) end |
#referenced_many? ⇒ true | false
문서 가 reference_many 연관 관계의 일부인지 확인합니다.
109 110 111 |
# 파일 'lib/mongoid/association.rb', 109줄 def reference_many? _association && _association.is_a?(연관 관계::참조됨::Has Many) end |
#referenced_one? ⇒ true | false
문서 가 reference_one 연관 관계의 일부인지 확인합니다.
119 120 121 |
# 파일 'lib/mongoid/association.rb', 119줄 def reference_one? _association && _association.is_a?(연관 관계::참조됨::Has One) end |
#reload_relations ⇒ 해시
로드된 연관 관계를 반복하고 다시 로드하기 위한 편리한 메서드입니다.
130 131 132 133 134 135 136 137 138 |
# 파일 'lib/mongoid/association.rb', 130줄 def reload_relations 관계.각각의 쌍 do |이름, | 만약 instance_variable_defined?("@_#{name}") 만약 _parent.nil? || instance_variable_get("@_#{name}") != _parent remove_instance_variable("@_#{name}") end end end end |