クラス: Mongoid::関連付け::埋め込み::埋め込みIn::Binding

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
バインディング可能
定義:
lib/mongoid/関連付け/ embedded/ embedded_in/bining.rb

Overview

embedded_in 関連付け用の バインディング オブジェクト。

インスタンス属性の概要

バインディング可能なに含まれる属性

#_association, #_base, #_target

インスタンス メソッドの概要を折りたたむ

バインド可能な に含まれるメソッド

バインディング初期化

インスタンス メソッドの詳細

# bind_one =オブジェクト

基本オブジェクトを関連付けの逆にバインドします。 したがって、両方の側で実際のオブジェクト自体を参照します。

この場合、ドキュメント自体と逆オブジェクトの関連付けメタデータが設定されます。

例:

ドキュメントをバインドします。

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


22
23
24
25
26
27
28
29
30
31
32
33
34
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/bining.rb' の場合、行22

デフォルト bind_one
  バインディング 行う
    checkpoint_polytric_inverses.(_ target)
    _base._関連付け = _関連付け.逆_関連付け(_ target) ただし、 _base._関連付け
    _base.親化(_ target)
    場合 _base.embedded_many?
      _ target.送信(_関連付け.(_ target)).プッシュ(_base)
    else
      排除_関連付け(_ target)
      try_method(_ target, _関連付け.inverse_setter(_ target), _base)
    end
  end
end

#unbind_one =オブジェクト

参照を nil に設定することで、基本オブジェクトとその逆のバインドを解除します。

例:

ドキュメントのバインドを解除します。

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


42
43
44
45
46
47
48
49
50
# ファイル 'lib/mongoid/関連付け/ embedded/ embedded_in/bining.rb' の場合、行42

デフォルト unbind_one
  バインディング 行う
    場合 _base.embedded_many?
      _ target.送信(_関連付け.(_ target)).削除(_base)
    else
      try_method(_ target, _関連付け.inverse_setter(_ target), nil)
    end
  end
end