Clase: Mongoid::Asociación::Referenciado::Pertenece a

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
Construible, Mongoid::Asociación::Relacionable
Definido en:

lib/mongoid/asociación/referenciado/pertenece_a.rb, lib/mongoid/asociación/referenciado/pertenece_a/eager.rb,
lib/mongoid/asociación/referenciado/pertenece_a/proxy.rb,
lib/mongoid/asociación/referenciado/pertenece_a/binding.rb,
lib/mongoid/asociación/referenciado/pertenece_a/buildable.rb

Overview

La asociación de tipo BelongsTo.

Definido en el espacio de nombres

Modules: Construible Clases: Vinculante, ansioso, 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.

[
    :autoconstrucción,
    :autosave,
    :counter_cache,
    :dependiente,
    :clave externa,
    :index,
    :polimórfico,
    :clave_principal,
    :tocar,
    :opcional,
    :requerido,
    :alcance,
].freeze
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
TIPO DE CAMPO DE CLAVE EXTERNA =

El tipo de campo que contiene la clave externa.

Devuelve:

  • (Objeto)
Objeto
SUFIJO DE CLAVE EXTRANJERA =

El sufijo de clave externa predeterminado.

Devuelve:

  • (Cadena) -

    '_identificación'

'_id'.freeze

Constantes incluidas de Mongoid::Association::Relatable

Mongoid::Asociación::Relacionable::CLAVE_PRIMARIA_POR_DETECCIÓN, Mongoid::Asociación::Relacionable::OPCIONES_COMPARTIDAS

Resumen de atributos de instancia

Atributos incluidos de Mongoid::Association::Relatable

#nombre, #opciones, #inclusiones_principales

Colapso del resumen del método de instancia

Métodos incluidos en Buildable

#construir

Métodos incluidos de Mongoid::Association::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_setter, #inverses, #key, #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, #clave_principal, #almacenar_como, #campo_táctil, #tocable?, #tipo

Métodos incluidos de Constrangible

#convertir_a_clave_extranjera

Detalles del método de instancia

#¿incrustado?falso

¿Este tipo de asociación está integrado?

Devuelve:

  • (FALSO) -

    Siempre falso.



77
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 77

def ¿incorporado?; false; end

#foreign_keyString

Obtenga el campo de clave externa para guardar la referencia de asociación.

Devuelve:

  • (Cadena) -

    El campo de clave externa para guardar la referencia de asociación.



87
88
89
90
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 87

def clave externa
  @clave_extranjera ||= @opciones[:clave externa] ? @opciones[:clave externa].a_s :
                     campo de clave externa predeterminado
end

#inverse_typeString

El nombre del campo utilizado para almacenar el tipo de asociación polimórfica.

Devuelve:

  • (Cadena) -

    El campo utilizado para almacenar el tipo de asociación polimórfica.



124
125
126
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 124

def inverse_type
  (@inverse_type ||= "#{name}_type") Si polimórfico?
end

#nested_builder(atributos, opciones) ⇒ Asociación::Anidado::Uno

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:



134
135
136
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 134

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

#ruta(documento) ⇒ Raíz

Obtenga la calculadora de ruta para el documento proporcionado.

Ejemplos:

Obtén la calculadora de rutas.

association.path(document)

Parámetros:

  • Documento (Documento) -

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

Devuelve:

  • (Raíz) -

    La calculadora de ruta atómica raíz.



146
147
148
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 146

def ruta(Documento)
  Mongoid::Atómico::Caminos::Raíz.Nuevo(Documento)
end

#¿polimórfico?verdadero | falso

¿Esta asociación es polimórfica?

Devuelve:

  • (verdadero | falso)

    Si esta asociación es polimórfica.



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

def polimórfico?
  @polimórfico ||= !!@opciones[:polimórfico]
end

#relaciónAsociación::Pertenece a::Proxy

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

Devuelve:

  • (Asociación::PerteneceA::Proxy)

    La clase proxy.



95
96
97
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 95

def relación
  Apoderado
end

#complementos_de_relaciónMatriz

La lista de complementos de la asociación.

Devuelve:

  • (Matriz)

    La asociación complementa.



56
57
58
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 56

def relación_complementos
  @relation_complements ||= [ Tiene muchos, Tiene uno ].freeze
end

#solucionadornulo | Mongoide::ModelResolver

Devuelve el objeto responsable de convertir las referencias de tipo polimórficas en objetos de clase, y viceversa. Esto se obtiene mediante la opción ':polymorphic', proporcionada al definir la asociación.

Consulte Mongoid::ModelResolver.resolver para saber cómo se interpreta la opción ':polymorphic` aquí.

Devuelve:

Aumentos:

  • KeyError si no se ha registrado dicho solucionador bajo el identificador dado.



117
118
119
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 117

def resolver
  @resolver ||= Mongoid::ModelResolver.resolver(@opciones[:polimórfico])
end

#scopeProc | Symbol | nil

Obtenga el alcance que se aplicará al consultar la asociación.

Devuelve:

  • (Proc | Symbol | nil)

    El ámbito de la asociación, si la hubiera.



153
154
155
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 153

def ámbito de aplicación
  @opciones[:alcance]
end

#¡configuración!yo mismo

Configure los métodos de instancia, campos, etc. en la clase propietaria de la asociación.

Devuelve:

  • (ser)


63
64
65
66
67
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 63

def setup!
  ¡métodos_de_instancia_de_configuración!
  @propietario_clase.campos con alias[Nombre.a_s] = clave externa
  yo
end

#¿almacena_clave_externa?verdadero

¿Este tipo de asociación almacena la clave externa?

Devuelve:

  • (verdadero) -

    Siempre verdadero.



72
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 72

def ¿almacena_clave_extranjera?; true; end

#validation_defaultfalse

El valor predeterminado para la validación del objeto de asociación.

Devuelve:

  • (FALSO) -

    Siempre falso.



82
# Archivo 'lib/mongoid/association/referenced/belongs_to.rb', línea 82

def validation_default; false; end