Clase: Mongoid::Association::Embedded::EmbeddedIn::Binding

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

Overview

El objeto Binding para asociaciones embedded_in.

Resumen del atributo de la instancia

Atributos incluidos desde Vinculable

#_association, #_base, #_target

Resumen del método de instancia colapsar

Métodos incluidos de Bindable

#binding, #initialize

Detalles del método de instancia

#bind_oneobjeto

Vincula el objeto base a la inversa de la asociación. Esto es para que seamos referenciados a los objetos reales en ambos lados.

Este caso establece los metadatos de asociación tanto en el objeto inverso como en el propio documento.

Ejemplos:

Encuaderne los documentos.

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


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

def bind_one
  binding hacer
    check_polymorphic_inverses!(_target)
    _base._association = _association.asociación inversa(_target) a menos que _base._association
    _base.Parentalizar(_target)
    si _base.embedded_many?
      _target.enviar(_association.inversa(_target)).push(_base)
    else
      remove_associated(_target)
      try_method(_target, _association.inverse_setter(_target), _base)
    end
  end
end

#desvincular_unoObjeto

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

Ejemplos:

Desvincula el documento.

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


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

def unbind_one
  binding hacer
    si _base.embedded_many?
      _target.enviar(_association.inversa(_target)).borrar(_base)
    else
      try_method(_target, _association.inverse_setter(_target), nulo)
    end
  end
end