Módulo: Mongoid::Association
- Ampliado por:
- ActiveSupport::Concern
- Incluye:
- Accesores, desarrolladores, Dependiendo, Incrustado::Cíclico, Macros, Referenciado::AutoGuardar, Referenciado::ContadorCaché, Referenciado::Sincronizable, Reflexiones
- Incluido en:
- Compuesto
- Definido en:
- 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/desarrolladores.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/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
Overview
Módulo Mixin que agrega comportamiento de asociación a un document Mongoid. Agrega métodos como #embedded? que indican el estado de asociación relativo de un document.
Definido bajo Namespace
Modules: Accesores, Vinculable, desarrolladores, Restringible, Dependientes, Carga anticipada, Insertado, Macros, Ensambable, Anidado, Opciones, Referenciado, Reflexiones, Relacionable Clases: Anticipado, Muchos, Uno, Proxy
Resumen de constantes colapsar
- MACRO_MAPPING =
Mapea las macros a sus clases de Asociación correspondientes.
{ embeds_one: Asociación::Embedded::EmbedsOne, incorpora_varios: Asociación::Embedded::EmbedsMany, embedded_in: Asociación::Embedded::EmbeddedIn, has_one: Asociación::Referenciado::HasOne, has_many: Asociación::Referenciado::HasMany, tiene_y_pertenece_a_muchos: Asociación::Referenciado::HasAndBelongsToMany, pertenece_a: Asociación::Referenciado::BelongsTo }.freeze
Constantes incluidas de Dependiendo
Resumen de atributos de la instancia colapsar
-
#_association ⇒ Objeto
Devuelve el valor del atributo _asociación.
Resumen del método de instancia colapsar
-
#association_name ⇒ Símbolo
Obtén el nombre de la asociación para este documento.
-
#¿incrustado? ⇒ verdadero | falso
Determine si el documento en sí está incrustado en otro documento a través de los canales adecuados.
-
#embedded_many? ⇒ true | false
Determina si el documento forma parte de una asociación de tipo embeds_many.
-
#embedded_one? ⇒ verdadero | falso
Determine si el documento forma parte de una asociación embeds_one.
-
#referenced_many? ⇒ verdadero | falso
Determina si el documento forma parte de una asociación references_many.
-
#referenced_one? ⇒ true | false
Determine si el documento forma parte de una asociación references_one.
-
#recargar_relaciones ⇒ Hash
Método conveniente para iterar a través de las asociaciones cargadas y recargarlas.
Métodos incluidos de Reflections
#reflect_on_all_association, #reflect_on_association
Métodos incluidos de Macros
Métodos incluidos de desarrolladores
define_builder!, define_creator!
Métodos incluidos en Dependiendo
#aplicar_destruir_dependencias!, definir_dependencia!, ¡validar!
Métodos incluidos de Accesores
#__build__, #create_relation, define_builder!, define_creator!, define_existence_check!, define_getter!, define_ids_getter!, define_ids_setter!, define_setter!, #reset_relation_criteria, #set_relation
Métodos incluidos de Referenciado::Sincronizable
#_syncable?, #_synced, #_synced?, #remove_inverse_keys, #update_inverse_keys
Métodos incluidos de Referenciado::CounterCache
define_callbacks!, #reset_counters
Métodos incluidos de Referenced::AutoSave
#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!
Detalles de atributo de instancias
#_asociación ⇒ Objeto
Devuelve el valor del atributo _asociación.
49 50 51 |
# Archivo 'lib/mongoid/association.rb', línea 49 def _association @_association end |
Detalles del método de instancia
#association_name ⇒ Símbolo
Obtén el nombre de la asociación para este document. Si no se definió ninguna asociación, se generará un error.
96 97 98 99 100 |
# Archivo 'lib/mongoid/association.rb', línea 96 def association_name propagar Errors::NoMetadata.Nuevo(sí mismo.clase.Nombre) a menos que _association _association.Nombre end |
#¿integrado? ⇒ true | false
Determinar si el propio documento está integrado en otro documento a través de los canales adecuados. (Si tiene un documento principal).
63 64 65 |
# Archivo 'lib/mongoid/association.rb', línea 63 def @embedded ||= (cíclico ? _parent.¿presente? : sí mismo.clase.) end |
#embedded_many? ⇒ true | false
Determina si el documento forma parte de una asociación de tipo embeds_many.
73 74 75 |
# Archivo 'lib/mongoid/association.rb', línea 73 def _association && _association.is_a?(Asociación::Embedded::EmbedsMany) end |
#embedded_one? ⇒ true | false
Determine si el documento forma parte de una asociación embeds_one.
83 84 85 |
# Archivo 'lib/mongoid/association.rb', línea 83 def _association && _association.is_a?(Asociación::Embedded::EmbedsOne) end |
#referenced_many? ⇒ true | false
Determina si el documento forma parte de una asociación references_many.
108 109 110 |
# Archivo 'lib/mongoid/association.rb', línea 108 def referenced_many? _association && _association.is_a?(Asociación::Referenciado::HasMany) end |
#referenced_one? ⇒ true | false
Determine si el documento forma parte de una asociación references_one.
118 119 120 |
# Archivo 'lib/mongoid/association.rb', línea 118 def referenciado_uno? _association && _association.is_a?(Asociación::Referenciado::HasOne) end |
#reload_relations ⇒ Hash
Método conveniente para iterar a través de las asociaciones cargadas y recargarlas.
129 130 131 132 133 134 135 |
# Archivo 'lib/mongoid/association.rb', línea 129 def recargar_relaciones relaciones.each_pair hacer |Nombre, | Next a menos que instance_variable_defined?("@_#{name}") remove_instance_variable("@_#{name}") si _parent.nil? || instance_variable_get("@_#{name}") != _parent end end |