Clase: Mongoid::Asociación::Incrustado::IncrustasMuchas

Hereda:
Objeto
  • Objeto
Mostrar todo
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.

Devuelve:

  • (Matriz<Símbolo><Symbol>)

    Las opciones extra válidas.

[
    :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.

Devuelve:

  • (Matriz<Símbolo><Symbol>)

    Las opciones válidas.

(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

Métodos incluidos en Buildable

#construir

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

#convertir_a_clave_extranjera

Detalles del método de instancia

#criterios(base, objetivo) ⇒ Objeto

Obtenga un objeto de criterios para buscar documentos padres e hijos dados.

Parámetros:

  • base (Documento) -

    El documento base.

  • destino (Documento) -

    Los documentos de los niños.



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.incrustado = 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?

Devuelve:

  • (verdadero) -

    Siempre verdadero.



66
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 66

def ¿incorporado?; true; end

#claveString

La clave que se utiliza para obtener los atributos del objeto asociado.

Devuelve:

  • (Cadena) -

    El nombre del campo utilizado para almacenar la asociación.



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.

Parámetros:

  • atributos (Hash)

    Los atributos a utilizar para construir el objeto de asociación.

  • opciones (Hash)

    Las opciones para la asociación.

Devuelve:



116
117
118
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 116

def constructor anidado(atributos, opciones)
  Anidado::Muchos.Nuevo(yo, atributos, opciones)
end

#ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::Many

Obtenga la calculadora de ruta para el documento proporcionado.

Ejemplos:

Obtén la calculadora de rutas.

Proxy.path(document)

Parámetros:

  • Documento (Documento) -

    El documento sobre el que se realizará el cálculo.

Devuelve:



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?

Devuelve:

  • (verdadero | falso)

    Si 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_keynil

La clave principal

Devuelve:

  • (nil)

    No relevante para esta asociación



85
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 85

def clave_primaria; end

#relaciónAsociación::Incrustado::IncrustadosMuchos::Proxy

Obtenga la clase de proxy de asociación para este tipo de asociación.

Devuelve:



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.

Devuelve:

  • (ser)


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.relaciones incrustadas = @propietario_clase.relaciones incrustadas.unir(Nombre => yo)
  @propietario_clase.campos con alias[Nombre.a_s] = store_as Si store_as
  yo
end

#store_asString

La clave de campo utilizada para almacenar la lista de objetos de asociación.

Devuelve:

  • (Cadena) -

    El nombre del campo.



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?

Devuelve:

  • (FALSO) -

    Siempre falso.



80
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 80

def ¿almacena_clave_extranjera?; false; end

#typeString | nil

Nota:

Sólo es relevante si la asociación es polimórfica.

El campo utilizado para almacenar el tipo de objeto relacionado.

Devuelve:

  • ( Cadena| nulo ) —

    El campo para almacenar el tipo del objeto asociado.



106
107
108
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 106

def tipo
  @tipo ||= "#{como}_tipo" Si polimórfico?
end

#validation_defaulttrue

Obtenga la configuración de validación por defecto para la asociación. Determina si por defecto ocurrirá una validación asociada.

Ejemplos:

Obtener la validación predeterminada.

Proxy.validation_default

Devuelve:

  • (verdadero) -

    Siempre verdadero.



75
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 75

def validation_default; true; end