モジュール: Mongoid::関連付け::埋め込み::埋め込みMany::Buildable

次のことが含まれます。
スレッド::ライフサイクル
次のドキュメントに含まれます。
Mongoid::関連付け::埋め込み::埋め込みMany
定義:
build/mongoid- 8.1 /lib/mongoid/asaction/ embedded/ embeddeds_many/Buildable.rb

Overview

embedded_many 関連付け用のビルダ クラス。

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

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

#ビルド(base、オブジェクト、タイプ = nil、選択した_フィールド = nil)= nil) =配列 <ドキュメント] ドキュメント。

提供された関連付けメタデータを使用して、属性からドキュメントを構築します。 サブクラスと割り当てがサブクラスと割り当てが使用されるようにするために、ファクトリを介してインスタンス化します。 この場合は多くのドキュメントが返されます。

例:

ドキュメントを構築します。

Builder.new(meta, attrs).build

パラメーター:

  • ベース ドキュメント

    基本オブジェクト。

  • オブジェクト 配列 は Document > | 配列 は )<Hash>

    関連付けを構築するために使用するオブジェクト。

  • タイプ string (デフォルトはnil

    このコンテキストでは使用されません。

  • scheduled_fields ハッシュ (デフォルトはnil

    # のみ を介して検索されたフィールド。 [選択した_フィールド] が指定されている場合、それにリストされていないフィールドは構築されたドキュメントでアクセスできなくなります。

次の値を返します。

  • (配列 <ドキュメント] ドキュメント。 )

    配列未満ドキュメント ] ドキュメント。



29
30
31
32
33
34
35
36
37
38
39
40
41
ファイル 'Build/mongoid- 8.1 /lib/mongoid/asaction/ embedded/ embeddeds_many/Buildable.rb '、 行29

デフォルト 構築(ベース, オブジェクト, タイプ = nil, scheduled_fields = nil)
  return [] 場合 オブジェクト.blank?
  return オブジェクト 場合 オブジェクト.最初に.is_a?(ドキュメント)
  docs = []
  オブジェクト. 行う |attrs|
    場合 _loading? & & ベース.永続化された場合
      docs.プッシュ(工場.execute_from_db(klass, attrs, nil, scheduled_fields, execution_colbacks: false))
    else
      docs.プッシュ(工場.構築(klass, attrs))
    end
  end
  docs
end