Módulo: Mongoide::Persistente::Salvable

Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/savable.rb

Overview

Define el comportamiento de las operaciones de persistencia que guardan documentos.

Colapso del resumen del método de instancia

Detalles del método de instancia

#guardar(opciones = {}) ⇒ verdadero | falso

Guardar el documento: realizará una inserción si el documento es nuevo y una actualización si no.

Ejemplos:

Guardar el documento.

document.save

Parámetros:

  • opciones (Hash) (predeterminado: {})

    Opciones para pasar al guardado.

Opciones Hash(opciones):

  • :tocar (true | false)

    Si el atributo updated_at se actualizará con la hora actual. Si esta opción es falsa, no se modificará ninguno de los documentos incrustados. Esta opción se ignora al guardar un documento nuevo, y created_at y updated_at se establecerán con la hora actual.

Devuelve:

  • (verdadero | falso)

    Verdadero si tiene éxito, falso si no.



25
26
27
28
29
30
31
# Archivo 'lib/mongoid/persistable/savable.rb', línea 25

def guardar(opciones = {})
  Si ¿nuevo_registro?
    !insert(opciones).¿nuevo_registro?
  else
    update_document(opciones)
  end
end

#¡guardar!(opciones = {}) ⇒ verdadero | falso

Guardar el documento: se insertará si el documento es nuevo y se actualizará si no lo es. Si se produce un error de validación, se generará un error.

Ejemplos:

Guardar el documento.

document.save!

Parámetros:

  • opciones (Hash) (predeterminado: {})

    Opciones para pasar al guardado.

Opciones Hash(opciones):

  • :tocar (true | false)

    Si el atributo updated_at se actualizará con la hora actual. Si esta opción es falsa, no se modificará ninguno de los documentos incrustados. Esta opción se ignora al guardar un documento nuevo, y created_at y updated_at se establecerán con la hora actual.

Devuelve:

  • (verdadero | falso)

    Verdadero si se aprobó la validación.

Aumentos:



51
52
53
54
55
56
57
# Archivo 'lib/mongoid/persistable/savable.rb', línea 51

def save!(opciones = {})
  a no ser que guardar(opciones)
    ¡Fallo debido a la validación! a no ser que errors.¿vacío?
    ¡Fallo debido a la devolución de llamada!(:save!)
  end
  true
end