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.

Resumen del método de instancia colapsar

Detalles del método de instancia

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

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

Ejemplos:

Guarda el documento.

document.save

Parámetros:

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

    Opciones para pasar al guardado.

Opciones Hash (options):

  • :tocar (true | false)

    Si el atributo updated_at se actualizará con la hora actual o no. Cuando esta opción está desactivada, ninguno de los documentos incrustados será modificado. Esta opción se ignora al guardar un nuevo documento, y los campos created_at y updated_at se establecerán en la hora actual.

Devuelve:

  • (true | false)

    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 = {}) ⇒ true | false

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:

Guarda el documento.

document.save!

Parámetros:

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

    Opciones para pasar al guardado.

Opciones Hash (options):

  • :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:

  • (true | false)

    Verdadero si la validación pasó.

Aumenta:



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

def save!(opciones = {})
  a menos que guardar(opciones)
    falló_por_validación! a menos que errors.¿vacío?
    ¡fallar_debido_a_callback!(:save!)
  end
  true
end