Módulo: Mongoid::Persistable::Creatable::ClassMethods

Definido en:
lib/mongoid/persistable/creatable.rb

Resumen del método de instancia colapsar

Detalles del método de instancia

#crear(atributos = nil, &block) ⇒ Documento | arreglo<Documento>

Crea un nuevo documento. Esto instanciará un nuevo documento y lo insertará en una sola llamada. Siempre devolverá el documento, ya sea que se haya guardado o no.

Ejemplos:

Crea un nuevo documento.

Person.create(:title => "Mr")

Cree varios documentos nuevos.

Person.create({ title: "Mr" }, { title: "Mrs" })

Parámetros:

  • atributos (Hash | arreglo) (valor por defecto: nil)

    Los atributos con los que crear, o un arreglo de múltiples atributos para múltiples documentos.

Devuelve:



161
162
163
164
165
166
167
168
169
170
171
# Archivo 'lib/mongoid/persistable/creatable.rb', línea 161

def Cree(atributos = nulo, &bloque)
  crear hacer
    si atributos.is_a?(::Arreglo)
      atributos.map { |attrs| Cree(attrs, &bloque) }
    else
      doc = Nuevo(atributos, &bloque)
      doc.guardar
      doc
    end
  end
end

#create!(atributos = nil, &block) ⇒ Documento | arreglo<Documento>

Crear un nuevo documento. Esto instanciará un nuevo documento y lo insertará en una sola llamada. Siempre devolverá el documento haya pasado o no la acción de guardar, y si falla la validación, se generará un error.

Ejemplos:

Crea un nuevo documento.

Person.create!(:title => "Mr")

Cree varios documentos nuevos.

Person.create!({ title: "Mr" }, { title: "Mrs" })

Parámetros:

  • atributos (Hash | arreglo) (valor por defecto: nil)

    Los atributos con los que crear, o un arreglo de múltiples atributos para múltiples documentos.

Devuelve:



188
189
190
191
192
193
194
195
196
197
198
199
# Archivo 'lib/mongoid/persistable/creatable.rb', línea 188

def ¡crea!(atributos = nulo, &bloque)
  crear hacer
    si atributos.is_a?(::Arreglo)
      atributos.map { |attrs| ¡crea!(attrs, &bloque) }
    else
      doc = Nuevo(atributos, &bloque)
      doc.falló_por_validación! a menos que doc.insert.errors.¿vacío?
      doc.¡fallar_debido_a_callback!(¡crear!) si doc.nuevo_registro?
      doc
    end
  end
end