Clase: Mongoid::Asociación::Muchos
- Hereda:
-
Apoderado
- Objeto
- Apoderado
- Mongoid::Asociación::Muchos
- Ampliado por:
- Reenviable
- Incluye:
- Enumerable
- Definido en:
- lib/mongoid/association/many.rb
Overview
Esta es la superclase para todos los proxies de asociación de muchos a uno y de muchos a muchos.
Subclases conocidas directas
Resumen constante
Constantes heredadas de Proxy
Resumen del atributo de la instancia
Atributos heredados de Proxy
#_association, #_base, #_target
Resumen del método de instancia colapsar
-
# ¿enblanco? ⇒ verdadero | falso
¿Está vacía la asociación?
-
#crear(atributos = nil, tipo = nil, &block) ⇒ Documento
Crea un nuevo documento en la asociación de referencias múltiples.
-
#¡crear!(atributos = nulo, tipo = nulo, &bloque) ⇒ Documento
Crea un nuevo documento en la asociación de referencias múltiples.
-
#find_or_create_by(attrs = {}, type = nil, &block) ⇒ Documento
Encuentra el primer documento que cumpla las condiciones dadas o crea un nuevo documento con las condiciones que se proporcionaron.
-
#¡buscar_o_crear_por!(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer documento que cumpla las condiciones dadas o crea un nuevo documento con las condiciones que se proporcionaron.
-
#find_or_initialize_by(attrs = {}, type = nil, &block) ⇒ Document
Encuentra la primera
Documentdadas las condiciones, o crea un nuevo documento con las condiciones que se proporcionaron. -
#nil? ⇒ false
Este proxy nunca puede ser nulo.
-
#respond_to?(nombre, include_private = false) ⇒ true | false
Dado que method_missing se anula, también deberíamos anular esto.
-
#alcance ⇒ Criterios
Este es el acceso público a los criterios de la asociación.
-
#serializable_hash(options = {}) ⇒ Hash
Obtiene el documento como un hash serializable, utilizado por los serializadores JSON y XML de ActiveModel.
-
#sin ámbito ⇒ Criterios
Obtén un criterio para los documentos incrustados sin que se aplique el alcance por defecto.
Métodos heredados de Proxy
apply_ordering, #extend_proxies, #initialize, #klass, #reset_unloaded, #substitutable
Métodos incluidos de Marshalable
Detalles del constructor
Esta clase hereda un constructor de Mongoid::Association::Proxy
Detalles del método de instancia
#en blanco? ⇒ verdadero | falso
¿Está vacía la asociación?
22 23 24 |
# Archivo 'lib/mongoid/association/many.rb', línea 22 def blank? !any? end |
#crear(atributos = nil, tipo = nil, &bloque) ⇒ documento
Crea un nuevo documento en la asociación "referencias múltiples". Esto guardará el documento si el documento principal se ha conservado.
36 37 38 39 40 41 42 43 44 |
# Archivo 'lib/mongoid/association/many.rb', línea 36 def Cree(atributos = nulo, tipo = nulo, Ybloque) si atributos.is_a?(::Arreglo) atributos.map { |attrs| Cree(attrs, tipo, Ybloque) } else doc = compilar(atributos, tipo, Ybloque) _base.¿persistió? ? doc.guardar : aumentar_no guardado(doc) doc end end |
#create!(attributes = nil, type = nil, &block) ⇒ Documento
Crea un nuevo documento sobre la asociación de muchas referencias. Esto guardará el documento si el principal se ha almacenado y generará un error si la validación falla.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# Archivo 'lib/mongoid/association/many.rb', línea 59 def ¡crea!(atributos = nulo, tipo = nulo, Ybloque) si atributos.is_a?(::Arreglo) atributos.map { |attrs| ¡crea!(attrs, tipo, Ybloque) } else doc = compilar(atributos, tipo, Ybloque) Arreglo(doc).cada hacer |doc| doc.intentar(:run_pending_callbacks) end _base.¿persistió? ? doc.save! : aumentar_no guardado(doc) doc end end |
#buscar_o_crear_por(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer documento que cumpla las condiciones dadas o crea un nuevo documento con las condiciones que se proporcionaron.
@param [ Hash ] attrs The attributes to search or create with.
@param [ Class ] type The optional type of document to create.
84 85 86 |
# Archivo 'lib/mongoid/association/many.rb', línea 84 def buscar_o_crear_por(attrs = {}, tipo = nulo, Ybloque) encontrar_o(crear:, attrs, tipo, Ybloque) end |
#find_or_create_by!(attrs = {}, type = nil, &block) ⇒ documento
Busque el primer documento dado las condiciones, o cree un nuevo documento con las condiciones proporcionadas. Esto generará un error si la validación falla.
100 101 102 |
# Archivo 'lib/mongoid/association/many.rb', línea 100 def find_or_create_by!(attrs = {}, tipo = nulo, Ybloque) encontrar_o(¡crear!, attrs, tipo, Ybloque) end |
#buscar_o_inicializar_por(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer Document dadas las condiciones, o instancia un nuevo documento con las condiciones proporcionadas.
114 115 116 |
# Archivo 'lib/mongoid/association/many.rb', línea 114 def find_or_initialize_by(attrs = {}, tipo = nulo, Ybloque) encontrar_o(compilar, attrs, tipo, Ybloque) end |
#nil? ⇒ false
Este proxy nunca puede ser nulo.
124 125 126 |
# Archivo 'lib/mongoid/association/many.rb', línea 124 def nil? false end |
#respond_to?(nombre, include_private = false) ⇒ true | false
Dado que method_missing se anula, también deberíamos anular esto.
137 138 139 140 |
# Archivo 'lib/mongoid/association/many.rb', línea 137 def respond_to?(Nombre, incluir_privado = false) [].respond_to?(Nombre, incluir_privado) || klass.respond_to?(Nombre, incluir_privado) || super end |
#alcance ⇒ Criterios
Este es el acceso público a los criterios de la asociación.
148 149 150 |
# Archivo 'lib/mongoid/association/many.rb', línea 148 def delimitado criterios end |
#serializable_hash(options = {}) ⇒ Hash
Obtiene el documento como un hash serializable, utilizado por los serializadores JSON y XML de ActiveModel. Esta sobrescritura es solo para poder pasar las opciones :include y :except para obtener asociaciones en el hash.
166 167 168 |
# Archivo 'lib/mongoid/association/many.rb', línea 166 def serializable_hash( = {}) _objetivo.map { |Documento| Documento.serializable_hash() } end |
#sin ámbito ⇒ Criterios
Obtén un criterio para los documentos incrustados sin que se aplique el alcance por defecto.
177 178 179 |
# Archivo 'lib/mongoid/association/many.rb', línea 177 def sin alcance criterios.sin alcance end |