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

継承:
オブジェクト
  • オブジェクト
すべて表示
次のことが含まれます。
構築可能
定義:
build/mongoid- 8.1 /lib/mongoid/asaction/ Nested/one.rb

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

Buildableに含まれる属性

関連付け属性既存の 、オプション

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

Buildableに含まれるメソッド

#allow_detroy?#convert_id#reject?#update_only

コンストラクターの詳細

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

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

例:

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

One.new(association, attributes)

パラメーター:

  • 関連付け 関連付け

    関連付けメタデータ。

  • 属性 ハッシュ

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

  • options ハッシュ

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



49
50
51
52
53
54
55
ファイル 'Build/mongoid- 8.1 /lib/mongoid/as associated/ Nested/one.rb ', 行49

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

インスタンス属性の詳細

#破棄するオブジェクト

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



9
10
11
ファイル 'Build/mongoid- 8.1 /lib/mongoid/as associated/ Nested/one.rb ', 行9

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

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

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

注:

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

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

例:

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

one.build(person, as: :admin)

パラメーター:

次の値を返します。



25
26
27
28
29
30
31
32
33
34
35
36
37
38
ファイル 'Build/mongoid- 8.1 /lib/mongoid/as associated/ Nested/one.rb ', 行25

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