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

次による拡張機能。
ActiveSupport::Concern
次のことが含まれます。
アクセス ビルダ に 依存 します 、 埋め込み::Cyclic 、 Macros 参照::AutoSave 参照::CounterCache 参照::Syncable 反映
次のドキュメントに含まれます。
構成可能
定義:
lib/mongoid/関連付け.rb
lib/mongoid/関連付け/one.rb、
lib/mongoid/関連付け/many.rb、
lib/mongoid/asaction/eager.rb、
lib/mongoid/関連付け/proxy.rb、
lib/mongoid/関連付け/macros.rb、
lib/mongoid/関連付け/ Nested.rb、
lib/mongoid/関連付け/オプション.rb、
lib/mongoid/asaction/bindable.rb、
lib/mongoid/関連付け/Builders.rb、
lib/mongoid/asaction/accessors.rb、
lib/mongoid/関連付け/deployment.rb、
lib/mongoid/asaction/relatable.rb、
lib/mongoid/関連付け/ Nested/one.rb、
lib/mongoid/asaction/mergershaable.rb、
lib/mongoid/関連付け/ Nested/many.rb、
lib/mongoid/関連付け/reflections.rb、
lib/mongoid/関連付け/constorageable.rb、
lib/mongoid/関連付け/EAger_loadable.rb、
lib/mongoid/関連付け/埋め込み/erager.rb、
lib/mongoid/関連付け/埋め込み/collection.rb、
lib/mongoid/関連付け/ embedded/batchable.rb、
lib/mongoid/関連付け/referenced/has_one.rb、
lib/mongoid/関連付け/ embedded/ embeddeds_one.rb、
lib/mongoid/関連付け/referenced/has_many.rb、
lib/mongoid/関連付け/referenced/syncable.rb、
lib/mongoid/関連付け/埋め込み/埋め込み_in.rb、
lib/mongoid/関連付け/ embedded/ embeddeds_many.rb、
lib/mongoid/関連付け/referenced/auto_save.rb、
lib/mongoid/関連付け/referenced/belongs_to.rb、
lib/mongoid/関連付け/ Nested/nested_Buildable.rb、
lib/mongoid/関連付け/referenced/counter_cache.rb、
lib/mongoid/関連付け/referenced/has_one/erager.rb、
lib/mongoid/関連付け/referenced/has_one/proxy.rb、
lib/mongoid/関連付け/ embedded/ embedded/ embeddeds_one/proxy.rb、
lib/mongoid/関連付け/referenced/has_many/erager.rb、
lib/mongoid/関連付け/referenced/has_many/proxy.rb、
lib/mongoid/関連付け/ embedded/ embedded_in/proxy.rb、
lib/mongoid/関連付け/ embedded/ embedded/ embedded/proxy.rb、
lib/mongoid/関連付け/referenced/has_one/bining.rb、
lib/mongoid/関連付け/ embedded/ embeddeds_one/bining.rb、
lib/mongoid/関連付け/referenced/belongs_to/erager.rb、
lib/mongoid/関連付け/referenced/belongs_to/proxy.rb、
lib/mongoid/関連付け/referenced/has_many/bining.rb、
lib/mongoid/関連付け/ embedded/ embedded_in/bining.rb、
lib/mongoid/関連付け/ embedded/ embedded/ embedded/bining.rb、
lib/mongoid/関連付け/referenced/has_one/Buildable.rb、
lib/mongoid/関連付け/ embedded/ embeddeds_one/Buildable.rb、
lib/mongoid/関連付け/referenced/belongs_to/bining.rb、
lib/mongoid/関連付け/referenced/has_many/Buildable.rb、
lib/mongoid/関連付け/ embedded/ embedded_in/Buildable.rb、
lib/mongoid/関連付け/ embedded/ embedded/ embeddeds_many/Buildable.rb、
lib/mongoid/関連付け/referenced/has_many/enumerable.rb、
lib/mongoid/関連付け/referenced/belongs_to/Buildable.rb、
lib/mongoid/関連付け/referenced/has_and_belongs_to_many.rb、
lib/mongoid/関連付け/referenced/has_and_belongs_to_many/erager.rb、
lib/mongoid/関連付け/referenced/has_and_belongs_to_many/proxy.rb、
lib/mongoid/関連付け/referenced/has_and_belongs_to_many/bining.rb,
lib/mongoid/関連付け/referenced/has_and_belongs_to_many/Buildable.rb

Overview

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

名前空間で定義済み

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。検証します。

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

#__Build__#create_relation#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!

インスタンス属性の詳細

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

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



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

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

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

# associated_name =シンボル

このドキュメントの関連付け名を取得します。 関連付けが定義されていない場合

an error will be raised.

例:

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

document.association_name

次の値を返します。

  • シンボル

    関連付け名。

次の値が発生します。



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

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

#埋め込み = true | false

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

例:

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

address.embedded?

次の値を返します。

  • true | false

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



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

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

# embedded_many? = true | false

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

例:

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

address.embedded_many?

次の値を返します。

  • true | false

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



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

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

# embedded_one? = true | false

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

例:

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

address.embedded_one?

次の値を返します。

  • true | false

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



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

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

# referenced_many? = true | false

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

例:

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

post.referenced_many?

次の値を返します。

  • true | false

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



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

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

# referenced_one = true | false

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

例:

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

address.referenced_one?

次の値を返します。

  • true | false

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



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

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

# reload_relationations =ハッシュ

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

例:

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

document.reload_relations

次の値を返します。

  • ハッシュ

    関連付けメタデータ。



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

デフォルト reload_relationions
  関係.each_pair 行う |name, meta|
    場合 instance_variable_defined?(" @_ #{ name } ")
      場合 _parent.nil? || instance_variable_get(" @_ #{ name } ") != _parent
        delete_instance_variable(" @_ #{ name } ")
      end
    end
  end
end