モジュール: Mongoid::関連付け

次による拡張機能。
ActiveSupport::Concern
次のことが含まれます。
アクセス ビルダ に 依存 します 、 埋め込み::Cyclic 、 Macros 参照::AutoSave 参照::CounterCache 参照::Syncable 反映
次のドキュメントに含まれます。
構成可能
定義:



























































lib/mongoid/関連付けmongoid/asaction/macros.rb、lib/mongoid/関連付け/ Nested.rb、lib/mongoid/asaction/options.rb、lib/mongoid/関連付け/bindable.rb、lib/mongoid/関連付け/Builders.rb、lib/ mongoid/asaction/accessors.rb、lib/mongoid/関連付け/dMongoDB.rb、lib/mongoid/asaction/relatable.rb、lib/mongoid/関連付け/nested/one.rb、lib/mongoid/関連付け/mergerable.rb、 lib/mongoid/関連付け/ネスト/many.rb、lib/mongoid/関連付け/reflections.rb、lib/mongoid/関連付け/constorable.rb、lib/mongoid/関連付け/aager_loadable.rb、lib/mongoid/関連付け/埋め込み/プライマリ.rb、lib/mongoid/関連付け/埋め込み/サイクル.rb、lib/mongoid/関連付け/埋め込み/バッチ可能.rb、lib/mongoid/関連付け/参照/has_one.rb、lib/mongoid/関連付け/埋め込み/埋め込み_one。 rb、lib/mongoid/関連付け/referenced/has_many.rb、lib/mongoid/関連付け/referenced/syncable.rb、lib/mongoid/関連付け/belongs_to.rb、lib/mongoid/関連付け/ネスト/ネストされた_ビルド可能.rb、lib/mongoid/asaction/referenced/counter_cache.rb、lib/mongoid/関連付け/has_one/proxy.rb、lib/mongoid/関連付け/埋め込み/埋め込み_one/proxy.rb、lib/mongoid/関連付け/referenced/has_many/erager.rb、lib/mongoid/関連付け/referenced/has_many/proxy.rb、lib /mongoid/asaction/ embedded/ embedded_in/proxy.rb、lib/mongoid/as associated/ embedded/ embedded/ embeddeds_many.rb、lib/mongoid/asaction/referenced/has_one/bining.rb、lib/mongoid/関連付け/埋め込み/埋め込み_one /bining.rb、lib/mongoid/asaction/referenced/belongs_to/erager.rb、lib/mongoid/asaction/referenced/belongs_to/proxy.rb、lib/mongoid/関連付け/referenced/has_many/bining.rb、lib/mongoid /assob cation/ embedded/ embedded_in/bining.rb、lib/mongoid/関連付け/ embedded/ embedded/ embeddeds_many/bining.rb、lib/mongoid/assignation/referenced/has_one/Buildable.rb、lib/mongoid/関連付け/埋め込み/埋め込み_one/構築可能rb、lib/mongoid/関連付けembedded/ embedded/mongoid/ass mongoid/asaction/rereferenced/with_polyネットワーク_criteria.rb、lib/mongoid/asaction/referenced/has_and_belongs_to_many/EAger.rb、lib/mongoid/asaction/referenced/has_and_belongs_to_many/proxy.rb、lib/mongoid/asaction/referenced/has_and_belongs_to_many/bining 。 rb、lib/mongoid/関連付け/referenced/has_and_belongs_to_many/Buildable.rb

Overview

Mongoid documentに関連付け動作を追加する混合モジュールです。や などのメソッドを追加しますか。は、documentの相対的な関連付け状態を示します。

名前空間で定義済み

Modules: アクセス バインディング可能 、 ビルダ 、 制約 可能 、 依存 関係 、 EagerLoadable 、 埋め込み 、 MacOS マーシャリング 可能 、 ネストされた 、 オプション 、 参照 、 反映 、 関連付け 可能 クラス : 、 多 、 1 つ 、 プロキシ

定数の概要の削減

MACRO_MAPPING =

マイクロを対応する関連付けクラスにマッピングします。

次の値を返します。

  • ハッシュ

    マイクロから関連付けクラスへのマッピング。

{
  embeds_one: 関連付け::Embedded::embeddedOne,
  embedded_many: 関連付け::Embedded::embedded,
  embedded_in: 関連付け::Embedded::EmbeddedIn,
  has_one: 関連付け::参照済み::HasOne,
  has_many: 関連付け::参照済み::HasMany,
  has_and_belongs_to_many: 関連付け::参照済み::HasAndbelongsToMany,
  groups_to: 関連付け::参照済み::BelongsTo
}.freeze

依存関係に含まれる定数

依存: : 戦略

インスタンス属性の概要を折りたたむ

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

反映に含まれるメソッド

#reflect_on_all_関連付け

Macrosに含まれるメソッド

#関連付け

ビルダに含まれるメソッド

定義_ビルダ!定義_作成者!

依存関係から含まれるメソッド

#apply_detroy_dependenciesdefined_dependency。検証します。

アクセスに含まれるメソッド

ビルドする, #create_relation, define_builder!, define_creator!, define_existence_check!, define_getter!, define_ids_getter!, define_ids_setter!, define_setter!, #reset_relation_criteria, #set_relation

参照: Syncableに含まれるメソッド

#_syncable?#_synced#_synced?#remove_inverse_keys#update_inverse_keys

referenced::CounterCacheに含まれるメソッド

定義_コールバック#reset_counters

referenced::AutoSaveに含まれるメソッド

#__autosaving__, #autosaved?, #changed_for_autosave?, define_autosave!

インスタンス属性の詳細

# _関連付け =オブジェクト

属性_関連付けの値を返します。



49
50
51
# ファイル 'lib/mongoid/as associated.rb' は、 49行

デフォルト _関連付け
  @_関連付け
end

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

# associated_name =シンボル

このdocumentの関連付け名を取得します。関連付けが定義されていない場合は、エラーが発生します。

例:

関連付け名を取得します。

document.association_name

次の値を返します。

  • シンボル

    関連付け名。

次の値が発生します。



96
97
98
99
100
# ファイル 'lib/mongoid/as associated.rb' は、 96行

デフォルト associated_name
  発生 Errors::NoMetadata.新着情報(自己.クラス.name) ただし、 _関連付け

  _関連付け.name
end

#埋め込み = true | false

ドキュメント自体が別のドキュメントに埋め込まれているかどうかを適切なチャネルを介して判断します。 (親ドキュメントがある場合)

例:

ドキュメントは埋め込まれていますか?

address.embedded?

次の値を返します。

  • true | false

    ドキュメントに親ドキュメントがある場合は true。



63
64
65
# ファイル 'lib/mongoid/as associated.rb' は、 63行

デフォルト 埋め込み
  @ embedded ||= (循環 ? _parent.存在するかどうか : 自己.クラス.埋め込み)
end

# embedded_many? = true | false

ドキュメントが embeddeds_many 関連付けの一部であるかどうかを判断します。

例:

埋め込み内のドキュメントが多いか?

address.embedded_many?

次の値を返します。

  • true | false

    埋め込みが多い場合は true です。



73
74
75
# ファイル 'lib/mongoid/as associated.rb' は、 73行

デフォルト embedded_many?
  _関連付け & & _関連付け.is_a?(関連付け::Embedded::embedded)
end

# embedded_one? = true | false

ドキュメントが embeddeds_one 関連付けの一部であるかどうかを判断します。

例:

埋め込みドキュメントは か?

address.embedded_one?

次の値を返します。

  • true | false

    埋め込みがある場合は true。



83
84
85
# ファイル 'lib/mongoid/as associated.rb' は、 83行

デフォルト embedded_one?
  _関連付け & & _関連付け.is_a?(関連付け::Embedded::embeddedOne)
end

# referenced_many? = true | false

ドキュメントが references_many 関連付けの一部であるかどうかを判断します。

例:

参照が多いドキュメントか

post.referenced_many?

次の値を返します。

  • true | false

    が多くの参照を参照している場合は true。



108
109
110
# ファイル 'lib/mongoid/as associated.rb' は、 108行

デフォルト referenced_many?
  _関連付け & & _関連付け.is_a?(関連付け::参照済み::HasMany)
end

# referenced_one = true | false

ドキュメントが references_one 関連付けの一部であるかどうかを判断します。

例:

参照内のドキュメントは?

address.referenced_one?

次の値を返します。

  • true | false

    が を参照している場合は true。



118
119
120
# ファイル 'lib/mongoid/as associated.rb' は、 118行

デフォルト referenced_one?
  _関連付け & & _関連付け.is_a?(関連付け::参照済み::HasOne)
end

# reload_relationations =ハッシュ

ロードされた関連付けを反復処理して再読み込みするための便利なメソッドです。

例:

関連付けを再読み込みします。

document.reload_relations

次の値を返します。

  • ハッシュ

    関連付けメタデータ。



129
130
131
132
133
134
135
# ファイル 'lib/mongoid/as associated.rb' は、 129行

デフォルト reload_relationions
  関係.each_pair 行う |name, _meta|
    次へ ただし、 instance_variable_defined?(" @_ #{ name } ")

    delete_instance_variable(" @_ #{ name } ") 場合 _parent.nil? || instance_variable_get(" @_ #{ name } ") != _parent
  end
end