Módulo: Mongoid::Association
- Estendido por:
- ActiveSupport::Concern
- Inclui:
- Acessores, Construtores, Dependendo, Incorporado::Cyclic, macros, Referenciado::AutoSave, Referenciado::CounterCache, Referenciado::Syncable, Reflections
- Incluído em:
- Componível
- Definido em:
- 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/macros.rb,
lib/mongoid/association/nested.rb,
lib/mongoid/association/options.rb,
lib/mongoid/association/bindable.rb,
lib/mongoid/association/builders.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/marshardable.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/cycle.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
Visão geral
Módulo Mixin que adiciona comportamento de associação a um documento Mongoid . Adiciona métodos como #embedded? que indicam o estado de associação relativa de um documento.
Definido sob namespace
Módulos: Acessores, Bindable, Construtores, Constrainable, Dependendo, EagerLoadable, Incorporado, Macs, Em ordem, Aninhado, Opções, Referenciado, Reflexões, Classes relacionais : Eager, Muitos, Um, Proxy
Colapsode resumo constante
- MACRO_MAPPING =
Mapeie as macros para suas classes de associação correspondentes.
{ embeds_one: associação::Embedded::Incorpora um, incorpora_many: associação::Embedded::Incorpora muitos, embedded_in: associação::Embedded::Incorporado em, has_one: associação::Referenciado::Tem um, has_many: associação::Referenciado::Tem muitos, has_and_belongs_to_many: associação::Referenciado::Tem e pertence a muitos, requires_to: associação::Referenciado::Pertence a, }.congelar
Constantes incluídas de Dependendo
Recolhimento do Resumo do atributo de instância
-
#_association ➤ Object
Retorna o valor do atributo _association.
Recolhimento do Resumo do método de instância
-
#association_name ➤ Símbolo
Obtenha o nome da associação para este documento.
-
#incorporado? ➤ verdadeiro | false
Determine se o documento em si está incorporado em outro documento por meio dos canais apropriados.
-
#embedded_many? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação embeds_many.
-
#embedded_one? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação embeds_one.
-
#referenced_many? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação reference_many.
-
#referenced_one? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação reference_one.
-
#reload_relations ➤ Hash
Método de conveniência para iterar pelas associações carregadas e recarregá-las.
Métodos incluídos de Reflexões
#reflect_on_all_association, #reflect_on_association
Métodos incluídos de macros
Métodos incluídos de Dependendo
#apply_destroy_dependencies!, define_dependency!, valide!
Métodos incluídos dos acessadores
#__build__, #create_relation, #reset_relation_criteria, #set_relation
Métodos incluídos do Referenced::Syncable
#_syncable?, #_synced, #_synced?, #remove_inverse_keys, #update_inverse_keys
Métodos incluídos do Referenced::CounterCache
define_callbacks!, #reset_counters
Métodos incluídos do Referenced::AutoSave
#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!
Detalhes do atributo da instância
#_association ➤ Object
Retorna o valor do atributo _association.
51 52 53 |
# Arquivo 'lib/mongoid/association.rb', linha 51 def _association @_association end |
Detalhes do método de instância
#association_name ➤ Símbolo
Obtenha o nome da associação para este documento. Se nenhuma associação tiver sido definida
an error will be raised.
98 99 100 101 |
# Arquivo 'lib/mongoid/association.rb', linha 98 def association_name aumentar Errors::NoMetadata.Novo(auto.classe.name) a menos que _association _association.name end |
#incorporado? ➤ verdadeiro | false
Determine se o documento em si está incorporado em outro documento por meio dos canais apropriados. (Se tiver um documento pai.)
65 66 67 |
# Arquivo 'lib/mongoid/association.rb', linha 65 def @embedded ||= (cíclica ? _parent.presente? : auto.classe.) end |
#embedded_many? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação embeds_many.
75 76 77 |
# Arquivo 'lib/mongoid/association.rb', linha 75 def _association && _association.is_a?(associação::Embedded::Incorpora muitos) end |
#embedded_one? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação embeds_one.
85 86 87 |
# Arquivo 'lib/mongoid/association.rb', linha 85 def _association && _association.is_a?(associação::Embedded::Incorpora um) end |
#referenced_many? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação reference_many.
109 110 111 |
# Arquivo 'lib/mongoid/association.rb', linha 109 def referenced_many? _association && _association.is_a?(associação::Referenciado::Tem muitos) end |
#referenced_one? ➤ verdadeiro | false
Determine se o documento faz parte de uma associação reference_one.
119 120 121 |
# Arquivo 'lib/mongoid/association.rb', linha 119 def referenced_one? _association && _association.is_a?(associação::Referenciado::Tem um) end |
#reload_relations ➤ Hash
Método de conveniência para iterar pelas associações carregadas e recarregá-las.
130 131 132 133 134 135 136 137 138 |
# Arquivo 'lib/mongoid/association.rb', linha 130 def reload_relations relações.cada_pair fazer |name, | se instance_variable_definido?("@_#{name}") se _parent.nada? || instance_variable_get("@_#{name}") != _parent remove_instance_variable("@_#{name}") end end end end |