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/macro mongoid/association/accessors.rb, lib/mongoid/association/depending.rb, lib/mongoid/association/relatable.rb, lib/mongoid/association/nested/one.rb, lib/mongoid/association/marshlable.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/ deseja.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 /asso ciation/embedded/embedded_in/binding.rb, lib/mongoid/association/embedded/embedded/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/with_polymorphic_criteria.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 document Mongoid . Adiciona métodos como #embedded? que indicam o estado de associação relativa de um document.
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 dos Construtores
define_builder!, define_creater!
Métodos incluídos de Dependendo
#apply_destroy_dependencies!, define_dependency!, valide!
Métodos incluídos dos acessadores
#__build__, #create_relation, define_builder!, define_creater!, define_existence_check!, define_getter!, define_ids_getter!, define_ids_setter!, define_setter!, #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.
49 50 51 |
# Arquivo 'lib/mongoid/association.rb', linha 49 def _association @_association end |
Detalhes do método de instância
#association_name ➤ Símbolo
Obtenha o nome da associação para este document. Se nenhuma associação tiver sido definida, um erro será gerado.
96 97 98 99 100 |
# Arquivo 'lib/mongoid/association.rb', linha 96 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.)
63 64 65 |
# Arquivo 'lib/mongoid/association.rb', linha 63 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.
73 74 75 |
# Arquivo 'lib/mongoid/association.rb', linha 73 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.
83 84 85 |
# Arquivo 'lib/mongoid/association.rb', linha 83 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.
108 109 110 |
# Arquivo 'lib/mongoid/association.rb', linha 108 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.
118 119 120 |
# Arquivo 'lib/mongoid/association.rb', linha 118 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.
129 130 131 132 133 134 135 |
# Arquivo 'lib/mongoid/association.rb', linha 129 def reload_relations relações.cada_pair fazer |name, | próximo a menos que instance_variable_definido?("@_#{name}") remove_instance_variable("@_#{name}") se _parent.nada? || instance_variable_get("@_#{name}") != _parent end end |