Classe: Mongoid::Association::Referenced::BelongsTo::Binding
- Herda:
-
Objeto
- Objeto
- Mongoid::Association::Referenced::BelongsTo::Binding
- Inclui:
- Vinculável
- Definido em:
- lib/mongoid/association/referenced/belongs_to/binding.rb
Visão geral
classe de vinculação para associações requires_to.
Resumo do atributo de instância
Atributos incluídos do Bindable
#_association, #_base, #_target
Recolhimento do Resumo do método de instância
-
#bind_one ➤ Objeto
Vincula o objeto base ao inverso da associação.
-
#unbind_one ➤ Objeto
Desvincula o objeto base e o inverso, causados pela definição da referência como nulo.
Métodos incluídos do Bindable
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.
Este caso define a associação no objeto inverso, bem como o próprio documento.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# Arquivo 'lib/mongoid/association/referenced/belongs_to/binding.rb', linha 22 def bind_one vinculativo fazer check_polymorphic_inverses!(_target) bind_foreign_key(_base, record_id(_target)) # definir o tipo inverso (por exemplo, "#{name}_type") para novas associações polimórficas se _association.inverse_type && !_base.congelado? chave = _association.resolvedor.default_key_for(_target) bind_polymorphic_inverse_type(_base, chave) end se inverso = _association.inverso(_target) se set_base_association se _base.referenced_many? _target.__send__(inverso).push(_base) mais remove_associated(_target) _target.set_relation(inverso, _base) end end end end end |
#unbind_one ➤ Objeto
Desvincula o objeto base e o inverso, causados pela definição da referência como nulo.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# Arquivo 'lib/mongoid/association/referenced/belongs_to/binding.rb', linha 52 def unbind_one vinculativo fazer inverso = _association.inverso(_target) bind_foreign_key(_base, nada) bind_polymorphic_inverse_type(_base, nada) se inverso set_base_association se _base.referenced_many? _target.__send__(inverso).excluir(_base) mais _target.set_relation(inverso, nada) end end end end |