モジュール: Mongoid::Factory
Overview
データベースから取得されたドキュメントをインスタンス化します。
名前空間で定義済み
クラス: インスタンスエーター
インスタンス メソッドの概要を折りたたむ
-
#build(klass, attributes = nil) ⇒ Document
指定された属性から新しい
Document
を構築します。 -
の実行_ビルド( klas 、属性 = nil、オプション = {}) = ドキュメント
private
ビルドを実行します。
-
#execute_from_db (klas、Atlas、Atlas
private
from_db から実行します。
-
#from_db(klass, attributes = nil, criteria = nil, selected_fields = nil) ⇒ Document
データベースから読み込まれた指定された属性から新しい
Document
を構築します。
インスタンス メソッドの詳細
#build(klass, attributes = nil) ⇒ Document
指定された属性から新しいDocument
を構築します。
このメソッドは、属性に klas の弁別子キーが含まれている場合は、klas または klas の子孫をインスタンス化します。
属性に弁別子キー(デフォルトは _type)が含まれ、かつ弁別子の値が klas の子孫に対応していない場合、このメソッドは klas のインスタンスを作成します。
154 155 156 |
# ファイル 'lib/mongoid/factory.rb' 行154 デフォルト 構築(klass, 属性 = nil) execution_Build(klass, 属性) end |
の実行_ビルド( klas 、属性 = nil、オプション = {}) =ドキュメント
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
Ruby 2 .x のバグにより、オプション ハッシュはキーワード引数にできなくなります。 Ruby 2 .x のサポートを削除したら、オプション ハッシュをキーワード引数として再実装できます。 App Services.ruby-lang.org/issues/{3 15753を参照してください
ビルドを実行します。
175 176 177 178 179 180 181 182 183 184 |
# ファイル 'lib/mongoid/factory.rb' 行175 デフォルト execution_Build(klass, 属性 = nil, = {}) 属性 ||= {} dvalue = 属性[klass.弁別子_キー] || 属性[klass.弁別子_キー.to_sym] タイプ = klass.get_discriminator_mapping(dvalue) 場合 タイプ タイプ.struct_document(属性, ) else klass.struct_document(属性, ) end end |
#execute_from_db ( klas 、Atlas、Atlas
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
from_db から実行します。
234 235 236 237 238 239 |
# ファイル 'lib/mongoid/factory.rb' 行234 デフォルト execute_from_db(klass, 属性 = nil, 条件 = nil, scheduled_fields = nil, execution_colbacks: スレッド.execution_colbacks?) インスタンスエーター.新着情報(klass, 属性, 条件, scheduled_fields) .インスタンス(execution_colbacks: execution_colbacks) end |
#from_db(klass, attributes = nil, criteria = nil, selected_fields = nil) ⇒ Document
データベースから読み込まれた指定された属性から新しいDocument
を構築します。
属性に弁別子キー(デフォルトは _type)が含まれており、 かつ 、弁別子の値が klas の子孫に対応していない場合、このメソッドは UnknownModel エラーを発生させます。
基準オブジェクトが指定された場合、そのオブジェクトは次の 2 つの方法で使用されます。
-
条件に のみ 経由で指定されたフィールドのリストがある場合、返されるドキュメントにはそれらのフィールドのみが入力されます。
-
条件に参照の関連付けがある場合(つまり、このドキュメントが別のドキュメントの関連付けとしてインスタンス化されている場合)、返されたドキュメントの逆の関連付けにも他のドキュメントが入力されます(存在する場合)。
212 213 214 |
# ファイル 'lib/mongoid/factory.rb' 行212 デフォルト from_db(klass, 属性 = nil, 条件 = nil, scheduled_fields = nil) execute_from_db(klass, 属性, 条件, scheduled_fields) end |