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 bajo Namespace
Modules: Construible Clases: Vinculación, Proxy
Colapso delresumen constante
- ASSOCIATION_OPTIONS =
Las opciones disponibles para este tipo de asociación, además de las comunes.
[ como, :cascade_callbacks, cíclico, :orden, :store_as, antes_de_añadir, :después_de_agregar, :before_remove, Después de quitar ]
- VALID_OPTIONS =
La lista completa de opciones válidas para esta asociación, incluidas las compartidas.
(ASSOCIATION_OPTIONS + OPCIONES_COMPARTIDAS).freeze
Constantes incluidas de Relatable
Relatable::CLAVE PRINCIPAL PREDETERMINADA, Relatable::OPCIONES COMPARTIDAS
Resumen del atributo de la instancia
Atributos incluidos de Relatable
#nombre, #opciones, #inclusiones_superiores
Resumen del método de instancia colapsar
-
#criterios(base, objetivo) ⇒ Objeto
Obtener un objeto de criterios para la búsqueda dado un documento padre y documentos hijo.
-
#¿incrustado? ⇒ verdadero
¿Este tipo de asociación está embebido?
-
#clave ⇒ String
La clave que se utiliza para obtener los atributos del objeto asociado.
-
#nested_builder(attributes, options) ⇒ Association::Nested::Many
El objeto builder anidado.
-
#ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::Many
Obtén la calculadora de rutas para el documento suministrado.
-
#polymorphic? ⇒ true | false
¿Es esta asociación polimórfica?.
-
#primary_key ⇒ nil
La llave primaria.
-
#relation ⇒ Association::Embedded::EmbedsMany::Proxy
Obtenga la clase de proxy de asociación para este tipo de asociación.
-
#setup! ⇒ self
Configura los métodos, campos, etc. de la instancia.
-
#store_as ⇒ String
La clave de campo utilizada para almacenar la lista de objetos de asociación.
-
#stores_foreign_key? ⇒ false
¿Este tipo de asociación almacena la clave foránea?.
-
#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 de 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 Constrainable
Detalles del método de instancia
#criterios(base, target) ⇒ objeto
Obtener un objeto de criterios para la búsqueda dado un documento padre y documentos hijo.
137 138 139 140 141 142 143 144 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 137 def criterios(base, Objetivo) criterion = klass.delimitado criterion. = true criterion.Documentos = Objetivo criterion.parent_document = base criterion.asociación = sí mismo apply_ordering(criterion) end |
#¿incrustado? ⇒ verdadero
¿Este tipo de asociación está incrustado?
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 llave store_as.to_s end |
#nested_builder(attributes, options) ⇒ Asociación::Anidada::Muchas
El objeto builder anidado.
116 117 118 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 116 def nested_builder(atributos, ) Anidado::Muchos.Nuevo(sí mismo, atributos, ) end |
#ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::Many
Obtén la calculadora de rutas para el documento suministrado.
129 130 131 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 129 def ruta(Documento) Mongoid::Atómico::Rutas::Embedded::Muchos.Nuevo(Documento) end |
#polimórfico? ⇒ true | false
¿Esta asociación es polimórfica?
97 98 99 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 97 def polimórfico? @polymorphic ||= !!@options[como] end |
#primary_key ⇒ nil
La llave primaria
85 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 85 def clave_primaria; end |
#relation ⇒ Asociación::Embedida::EmbedsMany::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
Configura 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! @owner_class. = @owner_class..fusionar(Nombre => sí mismo) @owner_class.campos_alias[Nombre.to_s] = store_as si store_as sí mismo 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 ||= (@options[:store_as].intentar(to_s) || Nombre.to_s) end |
#stores_foreign_key? ⇒ false
¿Este tipo de asociación almacena la clave externa?
80 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 80 def ¿stores_foreign_key?; false; end |
#type ⇒ String | nil
Solo 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 ||= "#{as}_type" 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 |