モジュール: Mongoid::Persistable::Updateable

次のドキュメントに含まれます。
Mongoid::Persistable
定義:
lib/mongoid/persistable/updatable.rb

Overview

既存のドキュメントを更新する永続化操作の動作を定義します。

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

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

#更新(属性 = {}) = true | false別名: update_attributes

データベース内のドキュメント属性を更新します。

例:

ドキュメントの属性を更新する

document.update(:title => "Sir")

パラメーター:

  • 属性 ハッシュ (デフォルトは{}です)

    更新する属性。

次の値を返します。

  • true | false

    検証に合格した場合は true、合格していない場合は false です。



40
41
42
43
# ファイル 'lib/mongoid/永続的/updatable.rb' 行40

デフォルト update(属性 = {})
  assign_attributes(属性)
  保存
end

#更新(属性 = {}) = true | false別名: update_attributes。

検証に失敗した場合は、データベース内のドキュメント属性を更新し、エラーが発生します。

例:

ドキュメントの属性を更新します。

document.update!(:title => "Sir")

パラメーター:

  • 属性 ハッシュ (デフォルトは{}です)

    更新する属性。

次の値を返します。

  • true | false

    検証に合格した場合は true。

次の値が発生します。

  • エラー::検証

    検証に失敗した場合。

  • エラー::コールバック

    コールバックが false を返す場合。



58
59
60
61
62
63
64
65
# ファイル 'lib/mongoid/永続的/updatable.rb' 行58

デフォルト update!(属性 = {})
  結果 = update_attributes(属性)
  ただし、 結果
    fail_due_to_validation。 ただし、 errors.空の場合
    fail_due_to_customback(:update_attributes!)
  end
  結果
end

# update_attribute (名前, 値) = true | false

単一の属性を更新し、ドキュメント全体を永続化します。 これにより検証はスキップされますが、コールバックが起動されます。

例:

属性を更新します。

person.update_attribute(:title, "Sir")

パラメーター:

  • name シンボル | string

    属性の名前。

  • 価値 オブジェクト

    属性の新しい値。a

次の値を返します。

  • true | false

    保存が成功した場合は true、成功していない場合は false。

次の値が発生します。

  • エラー::ReadonlyAttribute

    読み取り専用としてフラグが付けられているためにフィールドを変更できない場合。



24
25
26
27
28
29
30
# ファイル 'lib/mongoid/永続的/updatable.rb' 行24

デフォルト update_attribute(name, 価値)
  as_writeable_attribute。(name, 価値) 行う |アクセス権|
    正規化された = name.to_s
    process_attribute(正規化された, 価値)
    保存(次を検証します。 false)
  end
end