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 añade comportamiento de asociación a un documento Mongoid. Añade métodos tales como #embedded? que indican el estado relativo de asociación de un documento.
Definido bajo Namespace
Modules: Accesores, enlazables, constructores, restringibles, dependientes, cargablesconentusiasmo, incrustados, macros, ordenables, anidados, opciones, referenciados, reflexiones, clases relacionables: ansiosos, muchos, uno, proxy
Colapso delresumen constante
- MACRO_MAPPING =
Mapea las macros a sus clases de Asociación correspondientes.
{ embeds_one: Asociación::Embedded::EmbedsOne, incrustaciones_muchas: Asociación::Embedded::Incrusta muchos, embedded_in: Asociación::Embedded::EmbeddedIn, has_one: Asociación::Referenciado::HasOne, has_many: Asociación::Referenciado::Tiene muchos, 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
-
#_asociación ⇒ Objeto
Devuelve el valor del atributo _association.
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
Determinar si el documento en sí está incrustado en otro documento a través de los canales adecuados.
-
#embedded_many? ⇒ verdadero | falso
Determinar si el documento es parte de una asociación embeds_many.
-
#embedded_one? ⇒ verdadero | falso
Determine si el documento forma parte de una asociación embeds_one.
-
#referenced_many? ⇒ verdadero | falso
Determinar si el documento es parte de una asociación references_many.
-
#referenciado_uno? ⇒ verdadero | falso
Determinar si el documento es parte de una asociación references_one.
-
#recargar_relaciones ⇒ Hash
Método de conveniencia 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 en Dependiendo
#aplicar_destruir_dependencias!, definir_dependencia!, ¡validar!
Métodos incluidos en Accessors
#__compilar__, #create_relation, #reset_relation_criteria, #set_relation
Métodos incluidos de Referenciado::Sincronizable
#_syncable?, #_synced, #_synced?, #remove_inverse_keys, #update_inverse_keys
Métodos incluidos en Referenced::CounterCache
define_callbacks!, #reset_counters
Métodos incluidos de Referenced::AutoSave
#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!
Detalles de los atributos de instancia
#_asociación ⇒ Objeto
Devuelve el valor del atributo _association.
51 52 53 |
# Archivo 'lib/mongoid/association.rb', línea 51 def _association @_association end |
Detalles del método de instancia
#nombre_de_asociación ⇒ Símbolo
Obtenga el nombre de la asociación para este documento. Si no se definió ninguna asociación
an error will be raised.
98 99 100 101 |
# Archivo 'lib/mongoid/association.rb', línea 98 def association_name propagar Errors::NoMetadata.Nuevo(sí mismo.clase.Nombre) a menos que _association _association.Nombre end |
#¿integrado? ⇒ true | false
Determinar si el documento está incrustado en otro documento mediante los canales adecuados (si tiene un documento principal).
65 66 67 |
# Archivo 'lib/mongoid/association.rb', línea 65 def @embedded ||= (cíclico ? _parent.¿presente? : sí mismo.clase.) end |
#embedded_many? ⇒ verdadero | falso
Determinar si el documento es parte de una asociación embeds_many.
75 76 77 |
# Archivo 'lib/mongoid/association.rb', línea 75 def _association && _association.is_a?(Asociación::Embedded::Incrusta muchos) end |
#embedded_one? ⇒ true | false
Determine si el documento forma parte de una asociación embeds_one.
85 86 87 |
# Archivo 'lib/mongoid/association.rb', línea 85 def _association && _association.is_a?(Asociación::Embedded::EmbedsOne) end |
#referenced_many? ⇒ true | false
Determinar si el documento es parte de una asociación references_many.
109 110 111 |
# Archivo 'lib/mongoid/association.rb', línea 109 def referenced_many? _association && _association.is_a?(Asociación::Referenciado::Tiene muchos) end |
#referenced_one? ⇒ true | false
Determinar si el documento es parte de una asociación references_one.
119 120 121 |
# Archivo 'lib/mongoid/association.rb', línea 119 def referenciado_uno? _association && _association.is_a?(Asociación::Referenciado::HasOne) end |
#reload_relations ⇒ Hash
Método de conveniencia para iterar a través de las asociaciones cargadas y recargarlas.
130 131 132 133 134 135 136 137 138 |
# Archivo 'lib/mongoid/association.rb', línea 130 def recargar_relaciones relaciones.each_pair hacer |Nombre, | si instance_variable_defined?("@_#{name}") si _parent.nil? || obtención de variable de instancia("@_#{name}") != _parent eliminar_variable_de_instancia("@_#{name}") end end end end |