模块:Mongoid::Persistable::Creatable::ClassMethods

定义于:
lib/mongoid/persistable/creatable.rb

实例方法摘要折叠

实例方法详细信息

# create (attributes = nil, &block) ⇒文档|数组 < Document >

创建新文档。 这将实例化一个新文档并将其插入到一次调用中。 无论保存是否通过,都将始终返回文档。

例子:

创建一个新文档。

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

创建多个新文档。

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

参数:

  • 属性 哈希 | 数组 (默认为: nil

    用于创建多个文档的属性,或由多个属性组成的数组。

返回:



145
146
147
148
149
150
151
152
153
154
155
# File 'lib/mongoid/persistable/creatable.rb', line 145

def 创建(属性 = nil, )
  _creating do
    if 属性.is_a?(::阵列)
      属性.map { |attrs| 创建(attrs, ) }
    else
      doc = new(属性, )
      doc.保存
      doc
    end
  end
end

#创建! (attributes = nil, &block) ⇒文档|数组 < Document >

创建新文档。 这将实例化一个新文档并将其插入到一次调用中。 无论保存是否通过,都将始终返回文档,如果验证失败,则会引发错误。

例子:

创建一个新文档。

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

创建多个新文档。

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

参数:

  • 属性 哈希 | 数组 (默认为: nil

    用于创建多个文档的属性,或由多个属性组成的数组。

返回:



172
173
174
175
176
177
178
179
180
181
182
183
# File 'lib/mongoid/persistable/creatable.rb', line 172

def 创建!(属性 = nil, )
  _creating do
    if 属性.is_a?(::阵列)
      属性.map { |attrs| 创建!(attrs, ) }
    else
      doc = new(属性, )
      doc.fail_due_to_validation! 除非 doc.insert.errors.空?
      doc.fail_due_to_callback!(:create!) if doc.new_record?
      doc
    end
  end
end