クラス: Mongoid::関連付け::参照::ネストされたAttributes::One

継承:
NestedBuilder
  • オブジェクト
すべて表示
定義:
build/mongoid- 8.1 /lib/mongoid/asaction/referenced/has_one/ Nested_Builder.rb

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

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

コンストラクターの詳細

#初期化(関連付け、属性、オプション) = 1 つ

1 対 1 の関連付けにあるネストされた属性の新しいビルダを作成します。

例:

ビルダをインスタンス化します。

One.new(association, attributes)

パラメーター:

  • 関連付け 関連付け

    関連付けメタデータ。

  • 属性 ハッシュ

    属性を ハッシュ して設定します。

  • options ハッシュ

    定義されているオプション。



46
47
48
49
50
51
ファイル ' build/mongoid- 8.1 /lib/mongoid/asaction/referenced/has_one/nested_Builder.rb ', 行46

デフォルト 初期化(関連付け, 属性, options)
  @attributes = 属性.with_in distinct_access
  @関連付け = 関連付け
  @options = options
  @delete = @attributes.削除(:_delete)
end

インスタンス属性の詳細

#破棄するオブジェクト

属性の破棄の値を返します。



9
10
11
ファイル ' build/mongoid- 8.1 /lib/mongoid/asaction/referenced/has_one/nested_Builder.rb ', 行9

デフォルト 破棄する
  @delete
end

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

#ビルド(親)= ドキュメント =ドキュメント

注:

これにより、既存の関連付けの更新、新しいドキュメントへの関連付けの置き換え、または関連付けの削除のいずれかの3操作が実行されます。

マイクロに渡された属性とオプションに応じて関連付けを構築します。

例:

1 - 1のネストされたドキュメントを作成します。

one.build(person, as: :admin)

パラメーター:

次の値を返します。



24
25
26
27
28
29
30
31
32
33
34
35
ファイル ' build/mongoid- 8.1 /lib/mongoid/asaction/referenced/has_one/nested_Builder.rb ', 行24

デフォルト 構築()
  return 場合 拒否しますか(, 属性)
  @existing = .送信(関連付け.name)
  場合 update?
    属性.delete_id
    exist.assign_attributes(属性)
  elsif 置き換えますか
    .送信(関連付け.setter, 工場.構築(関連付け.klass, 属性))
  elsif 削除しますか
    .送信(関連付け.setter, nil)
  end
end