Clase: Mongoid::Association::Referenced::HasOne

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
Construible, Mongoid::Asociación::Relacionable
Definido en:
lib/mongoid/association/referenced/has_one.rb,
lib/mongoid/association/referenced/has_one/eager.rb,
lib/mongoid/association/referenced/has_one/proxy.rb,
lib/mongoid/association/referenced/has_one/binding.rb,
lib/mongoid/association/referenced/has_one/buildable.rb

Overview

La asociación has_one.

Definido bajo Namespace

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

[
    como,
    :autobuild,
    :autosave,
    :dependiente,
    :foreign_key,
    :primary_key,
    :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.

(ASSOCIATION_OPTIONS + OPCIONES_COMPARTIDAS).freeze
SUFIJO DE CLAVE EXTRANJERA =

El sufijo de clave externa predeterminado.

Devuelve:

  • (string)

    ‘_id’

'_id'.freeze

Constantes incluidas de Mongoid::Association::Relatable

Mongoid::Association::Relatable::PRIMARY_KEY_DEFAULT, Mongoid::Association::Relatable::SHARED_OPTIONS

Resumen del atributo de la instancia

Atributos incluidos desde Mongoid::Association::Relatable

#nombre, #opciones, #inclusiones_superiores

Resumen del método de instancia colapsar

Métodos incluidos en Buildable

compilar

Métodos incluidos en WithPolymorphicCriteria

#con_criterio_polimórfico

Métodos incluidos de Mongoid::Association::Relatable

#==, #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, #key, #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, #primary_key, #store_as, #touch_field, #touchable?

Métodos incluidos de Constrainable

#convertir_a_clave_extranjera

Detalles del método de instancia

#enlazable?(doc) ⇒ verdadero | falso

Si intentar vincular un objeto mediante esta asociación debería generar un error.

Parámetros:

  • doc (documento)

    El documento que se va a encuadernar.

Devuelve:

  • (true | false)

    Si el documento se puede encuadernar.



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

def ¿vinculable?(doc)
  forced_nil_inverse? || (!!inversa && doc.campos.claves.incluir?(foreign_key))
end

#¿integrado?false

¿Este tipo de asociación está incrustado?

Devuelve:

  • (false)

    Siempre falso.



70
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 70

def ¿Incorporado?; false; end

#foreign_keyString

Obtenga el campo de clave foránea para guardar la referencia de asociación.

Devuelve:

  • (string)

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



62
63
64
65
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 62

def foreign_key
  @clave_extranjera ||= @options[:foreign_key] ? @options[:foreign_key].to_s :
                     default_foreign_key_field
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:



90
91
92
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 90

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

#ruta(documento) ⇒ Raíz

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 se realizará el cálculo.

Devuelve:

  • (Root)

    El calculador de rutas atómicas raíz.



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

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

#polimórfico?true | false

¿Esta asociación es polimórfica?

Devuelve:

  • (true | false)

    Si esta asociación es polimórfica.



97
98
99
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 97

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

#relaciónAssociation::HasOne::Proxy

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

Devuelve:

  • (Association::HasOne::Proxy)

    La clase proxy.



80
81
82
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 80

def relación
  Apoderado
end

#complementos_de_relaciónMatriz

La lista de complementos de asociaciones.

Devuelve:

  • (Matriz)

    Los complementos de la asociación.



46
47
48
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 46

def relation_complements
  @relation_complements ||= [ Referenciado::BelongsTo ].freeze
end

#scopeProc | Symbol | nil

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

Devuelve:

  • (Proc | Symbol | nil)

    El alcance de la asociación, si lo hubiera.



140
141
142
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 140

def Alcance
  @options[:alcance]
end

#¡configuración!yo mismo

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

Devuelve:

  • (ser)


53
54
55
56
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 53

def setup!
  ¡métodos_de_instancia_de_configuración!
  sí mismo
end

#stores_foreign_key?false

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

Devuelve:

  • (false)

    Siempre falso.



123
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 123

def ¿stores_foreign_key?; false; end

#typeString | nil

Nota:

Solo aplicable a asociaciones polimórficas.

El tipo de esta asociación si es polimórfica.

Devuelve:

  • (String | nil)

    El campo type.



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

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

#validation_defaulttrue

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

Devuelve:

  • (cierto)

    Siempre verdadero.



75
# Archivo 'lib/mongoid/association/referenced/has_one.rb', línea 75

def validation_default; true; end