Módulo: Mongoid::Persistable::Destroyable

Ampliado por:
ActiveSupport::Concern
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/destroyable.rb

Overview

Define el comportamiento para las operaciones de persistencia que destruyen documentos.

Definido bajo Namespace

Modules: ClassMethods

Resumen del método de instancia colapsar

Detalles del método de instancia

#destruir(opciones = nulo) ⇒ verdadero | falso

Remueva el documento de la base de datos utilizando funciones de retorno.

Ejemplos:

Destruir un documento.

document.destroy

Parámetros:

  • opciones (Hash) (predeterminado: nulo)

    Las opciones.

Opciones Hash (options):

  • :persist (true | false)

    Si se debe persistir la acción de eliminación. Las devoluciones de llamada se ejecutarán incluso si el valor es falso.

  • :reprimir (true | false)

    Si se debe actualizar el documento principal en memoria al borrar un documento incrustado.

Devuelve:

  • (true | false)

    True si es exitoso, false si no.

Aumenta:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Archivo 'lib/mongoid/persistable/destroyable.rb', línea 23

def destruir(opciones = nulo)
  propagar Errors::ReadonlyDocument.Nuevo(sí mismo.clase) si ¿solo lectura?
  sí mismo.marcado para destrucción = true
  Resultado = run_callbacks(Commit, skip_if: -> { en_transacción? }) hacer
    run_callbacks(:destroy) hacer
      si atrapar(:abortar) { aplicar_destruir_dependencias! }
        borrar(opciones || {}).tocar hacer |res|
          si res && en_transacción?
            Compacto.add_modified_document(_sesión, sí mismo)
          end
        end
      else
        false
      end
    end
  end
  sí mismo.marcado para destrucción = false
  Resultado
end

#destroy!(options = {}) ⇒ true

Remover el documento de la base de datos con funciones de retorno. Lanza un error si el documento no se destruye.

Ejemplos:

Destruir un documento.

document.destroy!

Parámetros:

  • opciones (Hash) (por defecto: {})

    Las opciones.

Opciones Hash (options):

  • :persist (true | false)

    Si se debe persistir la acción de eliminación. Las devoluciones de llamada se ejecutarán incluso si el valor es falso.

  • :reprimir (true | false)

    Si se debe actualizar el documento principal en memoria al borrar un documento incrustado.

Devuelve:

  • (cierto)

    Siempre verdadero.



59
60
61
# Archivo 'lib/mongoid/persistable/destroyable.rb', línea 59

def ¡destruir!(opciones = {})
  destruir(opciones) || propagar(Errors::DocumentNotDestroyed.Nuevo(_id, sí mismo.clase))
end