Clase: Mongoid::Association::Embedded::EmbedsMany

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

Devuelve:

  • (arreglo<Symbol>)

    Las opciones válidas extra.

%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.

Devuelve:

  • (arreglo<Symbol>)

    Las opciones válidas.

(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

Métodos incluidos de Buildable

compilar

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

#convert_to_foreign_key

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.

Parámetros:

  • base (documento)

    El documento base.

  • Objetivo (documento)

    Los documentos de los hijos.



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

Devuelve:

  • (cierto)

    Siempre verdadero.



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

def ¿Incorporado?
  true
end

#claveString

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

Devuelve:

  • (string)

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



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.

Parámetros:

  • atributos (encriptada)

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

  • opciones (encriptada)

    Las opciones para la asociación.

Devuelve:



120
121
122
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 120

def nested_builder(atributos, opciones)
  Anidado::Muchos.Nuevo(sí mismo, atributos, opciones)
end

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

Obtén la calculadora de rutas para el documento suministrado.

Ejemplos:

Obtén la calculadora de rutas.

Proxy.path(document)

Parámetros:

  • Documento (documento)

    El documento sobre el que calcular.

Devuelve:



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?

Devuelve:

  • (true | false)

    Si esta asociación es polimórfica.



101
102
103
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 101

def polimórfico?
  @polymorphic ||= !!@options[como]
end

#primary_keynil

La llave primaria

Devuelve:

  • (nil)

    No relevante para esta asociación



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

def clave_primaria; end

#relationAsociación::Embedida::EmbedsMany::Proxy

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

Devuelve:



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.

Devuelve:

  • (self)


40
41
42
43
44
45
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 40

def setup!
  setup_instance_methods!
  @owner_class.embedded_relations = @owner_class.embedded_relations.fusionar(Nombre => sí mismo)
  @owner_class.campos_alias[Nombre.to_s] = store_as si store_as
  sí mismo
end

#store_asString

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

Devuelve:

  • (string)

    El nombre del campo.



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?

Devuelve:

  • (false)

    Siempre falso.



82
83
84
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 82

def ¿stores_foreign_key?
  false
end

#typeString | nil

Nota:

Solo relevante si la asociación es polimórfica.

El campo se utiliza para almacenar el tipo del objeto relacionado.

Devuelve:

  • (String | nil)

    El campo para almacenar el tipo de objeto asociado.



110
111
112
# Archivo 'lib/mongoid/association/embedded/embeds_many.rb', línea 110

def tipo
  @type ||= "#{as}_type" 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:

Obtén la validación por defecto.

Proxy.validation_default

Devuelve:

  • (cierto)

    Siempre verdadero.



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

def validation_default
  true
end