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

Definido em:
lib/mongoid/persistable/createtable.rb

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#create(attributes = nil, &block) ➤ Documento | Array <Documento>

Criar um novo documento. Isso instanciará um novo documento e o inserirá em uma única chamada. Sempre retornará o documento, independente de ter sido salvo ou não.

Exemplos:

Criar um novo documento.

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

Criar vários novos documentos.

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

Parâmetros:

  • attributes (Hash | Array) (padrão para: nil)

    Os atributos a serem criados ou uma matriz de vários atributos para vários documentos.

Retorna:



144
145
146
147
148
149
150
151
152
153
154
# Arquivo 'lib/mongoid/persistable/createtable.rb', linha 144

def criar(attributes = nada, &noum: bloco ; verb: bloquear)
  _createndo fazer
    se attributes.is_a?(::Array)
      attributes.map { |attrs| criar(attrs, &noum: bloco ; verb: bloquear) }
    mais
      doc = Novo(attributes, &noum: bloco ; verb: bloquear)
      doc.Salvar
      doc
    end
  end
end

#criar!(attributes = nil, &block) ➤ Documento | Array <Documento>

Criar um novo documento. Isso instanciará um novo documento e o inserirá em uma única chamada. Sempre retornará o documento, independente de ter sido salvo ou não, e se a validação falhar, um erro será gerado.

Exemplos:

Criar um novo documento.

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

Criar vários novos documentos.

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

Parâmetros:

  • attributes (Hash | Array) (padrão para: nil)

    Os atributos a serem criados ou uma matriz de vários atributos para vários documentos.

Retorna:



171
172
173
174
175
176
177
178
179
180
181
182
# Arquivo 'lib/mongoid/persistable/createtable.rb', linha 171

def criar!(attributes = nada, &noum: bloco ; verb: bloquear)
  _createndo fazer
    se attributes.is_a?(::Array)
      attributes.map { |attrs| criar!(attrs, &noum: bloco ; verb: bloquear) }
    mais
      doc = Novo(attributes, &noum: bloco ; verb: bloquear)
      doc.fail_ue_to_validation! a menos que doc.insert.errors.vazio?
      doc.fail_ue_to_callback!(:create!) se doc.new_record?
      doc
    end
  end
end