クラス: Mongoid::関連付け::参照::HasAndBelongsToMany::Binding
- 継承:
-
オブジェクト
- オブジェクト
- Mongoid::関連付け::参照::HasAndBelongsToMany::Binding
- 次のことが含まれます。
- バインディング可能
- 定義:
- lib/mongoid/関連付け/referenced/has_and_belongs_to_many/bining.rb
Overview
すべての has_and_belongs_to_many 関連付けのバインディング クラス。
インスタンス属性の概要
バインディング可能なに含まれる属性
#_association, #_base, #_target
インスタンス メソッドの概要を折りたたむ
-
# bind_one (doc) = Object
単一のドキュメントを逆の関連付けでバインドします。
-
# explain_inverse_asされました関連付け
指定されたドキュメント内の逆の関連付けを検索します。
-
#inverse_record_id(doc) ⇒ BSON::ObjectId
inverse_keys が参照する逆 ID を見つけます。
-
#unbind_one(doc) ⇒ Object
単一ドキュメントのバインドを解除します。
バインド可能な に含まれるメソッド
インスタンス メソッドの詳細
# bind_one (doc) = Object
単一のドキュメントを逆の関連付けでバインドします。 プロキシに追加するときに特に使用されます。
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# ファイル 'lib/mongoid/関連付け/referenced/has_and_belongs_to_many/bining.rb' の場合は 行20 デフォルト bind_one(doc) バインディング 行う 逆_キー = try_method(doc, _関連付け.inverse_foreign_key) ただし、 doc.frozen? 場合 逆_キー Record_id = inverse_record_id(doc) ただし、 逆_キー.include?(Record_id) try_method(doc, _関連付け.inverse_foreign_key_setter, 逆_キー.プッシュ(Record_id)) end doc.delete_relation_criteria(_関連付け.逆) end _base._synced[_関連付け.foreign_key] = true doc._synced[_関連付け.inverse_foreign_key] = true end end |
# explain_inverse_asされました関連付け
指定されたドキュメント内の逆の関連付けを検索します。
77 78 79 |
# ファイル 'lib/mongoid/関連付け/referenced/has_and_belongs_to_many/bining.rb' の場合は 行77 デフォルト explain_inverse_as associated(doc) doc.関係[_base.クラス.name.モジュール化.アンダースコア.複数形] end |
#inverse_record_id(doc) ⇒ BSON::ObjectId
inverse_keys が参照する逆 ID を見つける
58 59 60 61 62 63 64 65 66 67 68 69 |
# ファイル 'lib/mongoid/関連付け/referenced/has_and_belongs_to_many/bining.rb' の場合は 行58 デフォルト inverse_record_id(doc) 場合 pk = _関連付け.[:inverse_primary_key] _base.送信(pk) else 逆_関連付け = explain_inverse_as associated(doc) 場合 逆_関連付け _base.__send__(逆_関連付け.プライマリ_キー) else _base._id end end end |
#unbind_one(doc) ⇒ Object
単一ドキュメントのバインドを解除します。
39 40 41 42 43 44 45 46 47 48 49 50 |
# ファイル 'lib/mongoid/関連付け/referenced/has_and_belongs_to_many/bining.rb' の場合は 行39 デフォルト unbind_one(doc) バインディング 行う _base.送信(_関連付け.foreign_key).delete_one(Record_id(doc)) 逆_キー = try_method(doc, _関連付け.inverse_foreign_key) ただし、 doc.frozen? 場合 逆_キー 逆_キー.delete_one(inverse_record_id(doc)) doc.delete_relation_criteria(_関連付け.逆) end _base._synced[_関連付け.foreign_key] = true doc._synced[_関連付け.inverse_foreign_key] = true end end |