Clase: Mongoid::Asociación::Incrustado::IncrustasMuchas
- Hereda:
-
Objeto
- Objeto
- Mongoid::Association::Embedded::EmbedsMany
- Incluye:
- Construible, relacionable
- Definido en:
- lib/mongoid/association/embedded/embeds_many.rb,
lib/mongoid/association/embedded/embeds_many/proxy.rb,
lib/mongoid/association/embedded/embeds_many/binding.rb,
lib/mongoid/association/embedded/embeds_many/buildable.rb
Overview
La asociación de tipo EmbedsMany.
Definido en el espacio de nombres
Modules: Construible Clases: Enlace, proxy
Colapso delresumen constante
- OPCIONES DE ASOCIACIÓN =
Las opciones disponibles para este tipo de asociación, además de las comunes.
[ :como, :cascade_callbacks, :cíclico, :orden, :store_as, :antes_de_agregar, :después de agregar, :antes_de_eliminar, :después de eliminar ]
- VALID_OPTIONS =
La lista completa de opciones válidas para esta asociación, incluidas las compartidas.
(OPCIONES DE ASOCIACIÓN + OPCIONES_COMPARTIDAS).freeze
Constantes incluidas de Relatable
Relatable::CLAVE PRINCIPAL PREDETERMINADA, Relatable::OPCIONES COMPARTIDAS
Resumen de atributos de instancia
Atributos incluidos de Relatable
#nombre, #opciones, #inclusiones_principales
Colapso del resumen del método de instancia
-
#criterios(base, objetivo) ⇒ Objeto
Obtenga un objeto de criterios para buscar documentos padres e hijos dados.
-
#¿incrustado? ⇒ verdadero
¿Este tipo de asociación está integrado?
-
#tecla ⇒ Cadena
La clave que se utiliza para obtener los atributos del objeto asociado.
-
#nested_builder(atributos, opciones) ⇒ Asociación::Anidado::Muchos
El objeto constructor anidado.
-
#ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::Many
Obtenga la calculadora de ruta para el documento proporcionado.
-
#¿polimórfico? ⇒ verdadero | falso
¿Esta asociación es polimórfica?
-
#primary_key ⇒ nil
La llave primaria.
-
#relación ⇒ Asociación::Incrustado::IncrustadosMuchos::Proxy
Obtenga la clase de proxy de asociación para este tipo de asociación.
-
#¡configuración! ⇒ yo mismo
Configurar los métodos de instancia, campos, etc.
-
#store_as ⇒ String
La clave de campo utilizada para almacenar la lista de objetos de asociación.
-
#¿almacena_clave_externa? ⇒ falso
¿Este tipo de asociación almacena la clave externa?
-
#type ⇒ String | nil
El campo utilizado para almacenar el tipo de objeto relacionado.
-
#validation_default ⇒ true
Obtén la configuración de validación por defecto para la asociación.
Métodos incluidos en Buildable
Métodos incluidos de Relatable
#==, #bindable?, #counter_cache_column_name, #create_relation, #destructive?, #extension, #foreign_key_check, #foreign_key_setter, #get_callbacks, #in_to?, #initialize, #inverse, #inverse_association, #inverse_class, #inverse_class_name, #inverse_setter, #inverse_type, #inverse_type_setter, #inverses, #many?, #one?, #relation_class, #relation_class_name, #setter, #type_setter, #validate?
Métodos incluidos en Opciones
#como, #autoconstrucción?, #autoguardado, #devoluciones_de_llamadas_en_cascada?, #contador_en_caché?, #cíclico?, #dependiente, #inverso_nil_forzado?, #indexado?, #inverso_de, #orden, #campo_táctil, #tocable?
Métodos incluidos de Constrangible
Detalles del método de instancia
#criterios(base, objetivo) ⇒ Objeto
Obtenga un objeto de criterios para buscar documentos padres e hijos dados.
137 138 139 140 141 142 143 144 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 137 def criterios(base, destino) criterion = klass.con alcance criterion. = true criterion.Documentos = destino criterion.documento principal = base criterion.asociación = yo aplicar_ordenamiento(criterion) end |
#¿incrustado? ⇒ verdadero
¿Este tipo de asociación está integrado?
66 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 66 def ; true; end |
#clave ⇒ String
La clave que se utiliza para obtener los atributos del objeto asociado.
59 60 61 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 59 def clave store_as.a_s end |
#nested_builder(atributos, opciones) ⇒ Asociación::Anidado::Muchos
El objeto constructor anidado.
116 117 118 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 116 def constructor anidado(atributos, ) Anidado::Muchos.Nuevo(yo, atributos, ) end |
#ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::Many
Obtenga la calculadora de ruta para el documento proporcionado.
129 130 131 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 129 def ruta(Documento) Mongoid::Atómico::Caminos::Embedded::Muchos.Nuevo(Documento) end |
#¿polimórfico? ⇒ verdadero | falso
¿Esta asociación es polimórfica?
97 98 99 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 97 def polimórfico? @polimórfico ||= !!@opciones[:como] end |
#primary_key ⇒ nil
La clave principal
85 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 85 def clave_primaria; end |
#relación ⇒ Asociación::Incrustado::IncrustadosMuchos::Proxy
Obtenga la clase de proxy de asociación para este tipo de asociación.
90 91 92 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 90 def relación Apoderado end |
#¡configuración! ⇒ yo mismo
Configure los métodos de instancia, campos, etc. en la clase propietaria de la asociación.
42 43 44 45 46 47 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 42 def setup! ¡métodos_de_instancia_de_configuración! @propietario_clase. = @propietario_clase..unir(Nombre => yo) @propietario_clase.campos con alias[Nombre.a_s] = store_as Si store_as yo end |
#store_as ⇒ String
La clave de campo utilizada para almacenar la lista de objetos de asociación.
52 53 54 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 52 def store_as @store_as ||= (@opciones[:store_as].intentar(:a_s) || Nombre.a_s) end |
#¿almacena_clave_externa? ⇒ falso
¿Este tipo de asociación almacena la clave externa?
80 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 80 def ¿almacena_clave_extranjera?; false; end |
#type ⇒ String | nil
Sólo es relevante si la asociación es polimórfica.
El campo utilizado para almacenar el tipo de objeto relacionado.
106 107 108 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 106 def tipo @tipo ||= "#{como}_tipo" Si polimórfico? end |
#validation_default ⇒ true
Obtenga la configuración de validación por defecto para la asociación. Determina si por defecto ocurrirá una validación asociada.
75 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 75 def validation_default; true; end |