Clase: Mongoid::Association::Referenced::BelongsTo::Proxy

Hereda:
Uno
  • Objeto
Mostrar todo
Incluye:
evolutivo
Definido en:
lib/mongoid/association/referenced/belongs_to/proxy.rb

Overview

Proxy transparente para las asociaciones belong_to. Se devuelve una instancia de esta clase al llamar al método getter de asociación en el documento sujeto. Esta clase hereda de Mongoid::Association::Proxy y redirige la mayoría de sus métodos al destino de la asociación, es decir, al documento de la colección del lado opuesto que debe estar cargado.

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Métodos incluidos de Evolucionable

#__evolve_object_id__

Métodos heredados de One

#__evolve_object_id__, #clear, #in_memory, #respond_to?

Detalles del Constructor

#initialize(base, target, association) ⇒ Proxy

Instancia un nuevo proxy de asociación belongs_to.

Ejemplos:

Crea el nuevo proxy.

Association::BelongsTo::Proxy.new(game, person, association)

Parámetros:



26
27
28
29
30
31
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 26

def inicializar(base, Objetivo, asociación)
  super hacer
    characterize_one(_target)
    bind_one
  end
end

Detalles del método de clase

.eager_loader(association, docs) ⇒ Mongoid::Association::Referenced::BelongsTo::Eager

Obtén el objeto Eager para este tipo de asociación.

Ejemplos:

Obtén el objeto de carga anticipada

Parámetros:

Devuelve:



110
111
112
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 110

def eager_loader(asociación, docs)
  Entusiasta.Nuevo(asociación, docs)
end

.¿integrado?false

Devuelve verdadero si la asociación es una incrustada. En este caso siempre es falso.

Ejemplos:

¿Está esta asociación incrustada?

Association::BelongsTo::Proxy.embedded?

Devuelve:

  • (false)

    Siempre falso.



121
122
123
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 121

def ¿Incorporado?
  false
end

Detalles del método de instancia

#nullifyobjeto

Remueve la asociación entre el documento base y el documento objetivo borrando la clave foránea y la referencia, dejando huérfano al documento objetivo en el proceso.

Ejemplos:

Anule la asociación.

person.game.nullify


39
40
41
42
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 39

def anular
  unbind_one
  _target.guardar
end

#sustituir(reemplazo) ⇒ self | nil

Sustituye los documentos de destino proporcionados por el documento existente en la asociación.

Ejemplos:

Sustitúyase la asociación.

name.substitute(new_name)

Parámetros:

Devuelve:

  • (self | nil)

    La asociación o nula.



53
54
55
56
57
58
59
60
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 53

def sustituir(reemplazo)
  unbind_one
  return a menos que reemplazo

  sí mismo._target = normalizar(reemplazo)
  bind_one
  sí mismo
end