Classe: Mongoid::Association::Embedded::EmbeddedIn::Binding

Herda:
Objeto
  • Objeto
mostrar tudo
Inclui:
Vinculável
Definido em:
lib/mongoid/association/embedded/embedded_in/binding.rb

Visão geral

O objeto Binding para associações embedded_in.

Resumo do atributo de instância

Atributos incluídos do Bindable

#_association, #_base, #_target

Recolhimento do Resumo do método de instância

Métodos incluídos do Bindable

#binding, #initialize

Detalhes do método de instância

#bind_one ➤ Objeto

Vincula o objeto base ao inverso da associação. Isso é para que sejamos referenciados aos próprios objetos reais em ambos os lados.

Esse caso define os metadados de associação no objeto inverso, bem como o próprio documento.

Exemplos:

Vincule os documentos.

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


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

def bind_one
  vinculativo fazer
    check_polymorphic_inverses!(_target)
    _base._association = _association.inverse_association(_target) a menos que _base._association
    _base.parentizar(_target)
    se _base.embedded_many?
      _target.enviar(_association.inverso(_target)).push(_base)
    mais
      remove_associated(_target)
      try_method(_target, _association.inverse_setter(_target), _base)
    end
  end
end

#unbind_one ➤ Objeto

Desvincula o objeto base e o inverso, causados pela definição da referência como nulo.

Exemplos:

Desvincule o documento.

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


42
43
44
45
46
47
48
49
50
# File 'lib/mongoid/association/embedded/embedded_in/binding.rb', linha 42

def unbind_one
  vinculativo fazer
    se _base.embedded_many?
      _target.enviar(_association.inverso(_target)).excluir(_base)
    mais
      try_method(_target, _association.inverse_setter(_target), nada)
    end
  end
end