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

次による拡張機能。
ActiveSupport::Concern
次のドキュメントに含まれます。
Mongoid::Persistable
定義:
lib/mongoid/persistable/detryable.rb

Overview

ドキュメントを破棄する永続化操作の動作を定義します。

名前空間で定義済み

Modules: クラスメソッド

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

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

破棄する(options = nil) = true | false

コールバックを使用してデータベースからドキュメントを削除します。

例:

ドキュメントを破棄します。

document.destroy

パラメーター:

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

    オプション。

オプション ハッシュ( options ):

  • :persist true | false

    削除アクションを永続化するかどうか。 false の場合でも、コールバックは実行されます。

  • : Compressor true | false

    埋め込みドキュメントを削除するときに、メモリ内の親ドキュメントを更新するかどうか。

次の値を返します。

  • true | false

    成功した場合は true、成功しない場合は false。

次の値が発生します。



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# ファイル 'lib/mongoid/persistable/detryable.rb' 行23

デフォルト 破棄する(options = nil)
  発生 Errors::ReadonlyDocument.新着情報(自己.クラス) 場合 読み取り専用
  自己.phrase = true
  結果 = run_colbacks(:commit, skip_if: -> { in_transaction? }) 行う
    run_colbacks(:破棄) 行う
      場合 キャッチ(:abort) { apply_detry_dependencies }
        削除(options || {}).タップ 行う |レス|
          場合 レス & & in_transaction?
            スレッド.add_modified_document(_session, 自己)
          end
        end
      else
        false
      end
    end
  end
  自己.phrase = false
  結果
end

#破棄します。 (オプション = {}) = true

コールバックを使用してデータベースからドキュメントを削除します。 ドキュメントが破棄されていない場合は、エラーが発生します。

例:

ドキュメントを破棄します。

document.destroy!

パラメーター:

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

    オプション。

オプション ハッシュ( options ):

  • :persist true | false

    削除アクションを永続化するかどうか。 false の場合でも、コールバックは実行されます。

  • : Compressor true | false

    埋め込みドキュメントを削除するときに、メモリ内の親ドキュメントを更新するかどうか。

次の値を返します。

  • ( true )

    常に true



59
60
61
# ファイル 'lib/mongoid/persistable/detryable.rb' 行59

デフォルト 破棄します。(options = {})
  破棄する(options) || 発生(Errors::DocumentNotDestructed.新着情報(_id, 自己.クラス))
end