模块: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

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

返回:



161
162
163
164
165
166
167
168
169
170
171
# File 'lib/mongoid/persistable/creatable.rb', line 161

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

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

返回:



188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/mongoid/persistable/creatable.rb', line 188

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