Clase: Mongoid::Association::Embedded::EmbedsOne

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
Construible, relacionable
Definido en:
lib/mongoid/association/embedded/embeds_one.rb,
lib/mongoid/association/embedded/embeds_one/proxy.rb,
lib/mongoid/association/embedded/embeds_one/binding.rb,
lib/mongoid/association/embedded/embeds_one/buildable.rb

Overview

La asociación del tipo EmbedsOne.

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.

Devuelve:

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

    Las opciones válidas extra.

[
    :autobuild,
    como,
    :cascade_callbacks,
    cíclico,
    :store_as
]
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.

(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

Métodos incluidos en 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?, #path, #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

#convertir_a_clave_extranjera

Detalles del método de instancia

#¿incrustado?verdadero

¿Este tipo de asociación está incrustado?

Devuelve:

  • (cierto)

    Siempre verdadero.



62
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 62

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.



55
56
57
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 55

def llave
  store_as.to_s
end

#nested_builder(atributos, opciones) ⇒ Asociación::Anidada::Única

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:



112
113
114
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 112

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

#polimórfico?true | false

¿Esta asociación es polimórfica?

Devuelve:

  • (true | false)

    Si esta asociación es polimórfica.



93
94
95
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 93

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

#primary_keynil

La llave primaria

Devuelve:

  • (nil)

    No relevante para esta asociación



81
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 81

def clave_primaria; end

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

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

Devuelve:



86
87
88
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 86

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.

Devuelve:

  • (ser)


38
39
40
41
42
43
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 38

def setup!
  ¡métodos_de_instancia_de_configuración!
  @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 del campo utilizada para almacenar el objeto de asociación.

Devuelve:

  • (string)

    El nombre del campo.



48
49
50
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 48

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.



76
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 76

def ¿stores_foreign_key?; false; end

#typeString | nil

Nota:

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

El campo utilizado para almacenar el tipo de objeto relacionado.

Devuelve:

  • (String | nil)

    El campo para almacenar el tipo del objeto asociado.



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

def tipo
  @tipo ||= "#{as}_type" si polimórfico?
end

#validación_predeterminadaverdadero | falso

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:

  • (true | false)

    La validación por defecto.



71
# Archivo 'lib/mongoid/association/embedded/embeds_one.rb', línea 71

def validation_default; true; end