Clase: Mongoid::Asociación::Incrustado::IncrustadoEn::Enlace

Hereda:
Objeto
  • Objeto
Mostrar todo
Incluye:
Enlazable
Definido en:
lib/mongoid/association/embedded/embedded_in/binding.rb

Overview

El objeto de enlace para asociaciones embedded_in.

Resumen de atributos de instancia

Atributos incluidos desde Bindable

#_association, #_base, #_target

Colapso del resumen del método de instancia

Métodos incluidos en Bindable

#enlace, #inicializar

Detalles del método de instancia

#bind_oneobjeto

Vincula el objeto base a la inversa de la asociación. Esto permite referenciar a los objetos reales en ambos lados.

Este caso establece los metadatos de asociación en el objeto inverso así como en el documento en sí.

Ejemplos:

Encuadernar los documentos.

name.person.bind(:continue => true)
name.person = Person.new


22
23
24
25
26
27
28
29
30
31
32
33
34
# Archivo 'lib/mongoid/association/embedded/embedded_in/binding.rb', línea 22

def bind_one
  binding hacer
    ¡comprueba las inversas polimórficas!(_objetivo)
    _base._asociación = _asociación.asociación inversa(_objetivo) a no ser que _base._asociación
    _base.parentalizar(_objetivo)
    Si _base.¿incrustado_muchos?
      _objetivo.Enviar(_asociación.inverso(_objetivo)).Push(_base)
    else
      eliminar_asociado(_objetivo)
      método de prueba(_objetivo, _asociación.inverse_setter(_objetivo), _base)
    end
  end
end

#desvincular_unoObjeto

Desvincula el objeto base y el inverso, causado por establecer la referencia en nil.

Ejemplos:

Desvincular el documento.

name.person.unbind(:continue => true)
name.person = nil


42
43
44
45
46
47
48
49
50
# Archivo 'lib/mongoid/association/embedded/embedded_in/binding.rb', línea 42

def unbind_one
  binding hacer
    Si _base.¿incrustado_muchos?
      _objetivo.Enviar(_asociación.inverso(_objetivo)).borrar(_base)
    else
      método de prueba(_objetivo, _asociación.inverse_setter(_objetivo), nulo)
    end
  end
end