Clase: Mongoid::Association::Embedded::EmbedsMany
- Hereda:
-
Objeto
- Objeto
- Mongoid::Association::Embedded::EmbedsMany
- Incluye:
- Creable, 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 clase: Vinculación, Proxy
Resumen de constantes colapsar
- ASSOCIATION_OPTIONS =
Las opciones disponibles para este tipo de asociación, además de las comunes.
%i[ como Cascade_callbacks cíclico orden store_as before_add después_de_agregar antes_de_remover after_removal ]
- 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::PRIMARY_KEY_DEFAULT, Relatable::SHARED_OPTIONS
Resumen del atributo de la instancia
Atributos incluidos de Relatable
#name, #options, #owner_class, #parent_inclusions
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 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 se utiliza para almacenar el tipo del objeto relacionado.
-
#validation_default ⇒ true
Obtén la configuración de validación por defecto para la asociación.
Métodos incluidos de 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
#as, #autobuilding?, #autosave, #cascading_callbacks?, #counter_cached?, #cyclic?, #dependent, #forced_nil_inverse?, #índice?, #inverse_of, #order, #touch_field, #touchable?
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.
141 142 143 144 145 146 147 148 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 141 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? ⇒ true
¿Este tipo de asociación está incrustado?
64 65 66 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 64 def true end |
#clave ⇒ String
La clave que se utiliza para obtener los atributos del objeto asociado.
57 58 59 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 57 def llave store_as.to_s end |
#nested_builder(attributes, options) ⇒ Asociación::Anidada::Muchas
El objeto builder anidado.
120 121 122 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 120 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.
133 134 135 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 133 def ruta(Documento) Mongoid::Atómico::Rutas::Embedded::Muchos.Nuevo(Documento) end |
#polimórfico? ⇒ true | false
¿Es esta asociación polimórfica?
101 102 103 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 101 def polimórfico? @polymorphic ||= !!@options[como] end |
#primary_key ⇒ nil
La llave primaria
89
|
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 89 def clave_primaria; end |
#relation ⇒ Asociación::Embedida::EmbedsMany::Proxy
Obtenga la clase proxy de asociación para este tipo de asociación.
94 95 96 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 94 def relación Proxy end |
#configurar! ⇒ self
Configura los métodos de instancia, campos, etc. en la clase propietaria de la asociación.
40 41 42 43 44 45 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 40 def setup! setup_instance_methods! @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.
50 51 52 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 50 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?
82 83 84 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 82 def ¿stores_foreign_key? false end |
#type ⇒ String | nil
Solo relevante si la asociación es polimórfica.
El campo se utiliza para almacenar el tipo del objeto relacionado.
110 111 112 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 110 def tipo @type ||= "#{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 76 77 |
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 75 def validation_default true end |