Módulo: Mongoid::Association
- Ampliado por:
- ActiveSupport::Preocupación
- Incluye:
- Accesores, Constructores, Dependientes, Incrustado::Cíclico, Macros, Referenciado::Guardado automático, Referenciado::ContadorCaché, Referenciado::Sincronizable, Reflexiones
- Incluido en:
- Componible
- 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/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/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/asociación/referenciada/pertenece_a/buildable.rb, lib/mongoid/asociación/referenciada/tiene_y_pertenece_a_muchos.rb, lib/mongoid/asociación/referenciada/con_criterios_polimórficos.rb, lib/mongoid/asociación/referenciada/tiene_y_pertenece_a_muchos/eager.rb, lib/mongoid/asociación/referenciada/tiene_y_pertenece_a_muchos/proxy.rb, lib/mongoid/asociación/referenciada/tiene_y_pertenece_a_muchos/binding.rb, lib/mongoid/asociación/referenciada/tiene_y_pertenece_a_muchos/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 en el espacio de nombres
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, incrustado en: Asociación::Embedded::EmbeddedIn, tiene_uno: Asociación::Referenciado::Tiene uno, tiene_muchos: Asociación::Referenciado::Tiene muchos, tiene_y_pertenece_a_muchos: Asociación::Referenciado::Tiene y pertenece a muchos, pertenece_a: Asociación::Referenciado::Pertenece a, }.freeze
Constantes incluidas de Dependencia
Colapso delresumen de atributos de instancia
-
#_asociación ⇒ Objeto
Devuelve el valor del atributo _association.
Colapso del resumen del método de instancia
-
#nombre_de_asociación ⇒ 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
Determinar si el documento es parte de una asociación embeds_one.
-
#referenciado_muchos? ⇒ 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 en Reflexiones
#reflexionar_sobre_toda_la_asociación, #reflexionar_sobre_la_asociación
Métodos incluidos en Macros
Métodos incluidos de Dependiendo
#¡aplicar_destruir_dependencias!, ¡definir_dependencia!, ¡validar!
Métodos incluidos en Accessors
#__build__, #crear_relación, #restablecer_criterios_de_relación, #establecer_relación
Métodos incluidos en Referenced::Syncable
#_sincronizable?, #_sincronizado, #_sincronizado?, #eliminar_claves_inversas, #actualizar_claves_inversas
Métodos incluidos en Referenced::CounterCache
¡define_devoluciones_de_llamadas!, #reinicia_contadores
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 _asociación @_asociación end |
Detalles del método de instancia
#nombre_de_asociación ⇒ Símbolo
Obtener 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(yo.clase.Nombre) a no ser que _asociación _asociación.Nombre end |
#¿incrustado? ⇒ verdadero | falso
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 @incorporado ||= (cíclico ? _padre.¿presente? : yo.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 _asociación && _asociación.is_a?(Asociación::Embedded::Incrusta muchos) end |
#embedded_one? ⇒ true | false
Determinar si el documento es parte de una asociación embeds_one.
85 86 87 |
# Archivo 'lib/mongoid/association.rb', línea 85 def _asociación && _asociación.is_a?(Asociación::Embedded::EmbedsOne) end |
#referenciado_muchos? ⇒ verdadero | falso
Determinar si el documento es parte de una asociación references_many.
109 110 111 |
# Archivo 'lib/mongoid/association.rb', línea 109 def ¿referenciado_muchos? _asociación && _asociación.is_a?(Asociación::Referenciado::Tiene muchos) end |
#referenciado_uno? ⇒ verdadero | falso
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? _asociación && _asociación.is_a?(Asociación::Referenciado::Tiene uno) end |
#recargar_relaciones ⇒ 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 ¿variable_de_instancia_definida?("@_#{nombre}") Si _padre.nil? || obtención de variable de instancia("@_#{nombre}") != _padre eliminar_variable_de_instancia("@_#{nombre}") end end end end |