模块:Mongoid::Persistable::Creatable::ClassMethods
- 定义于:
- lib/mongoid/persistable/creatable.rb
实例方法摘要折叠
-
# create (attributes = nil, &block) ⇒ 文档 |数组<Document>
创建一个新文档。
-
#创建! (attributes = nil, &block) ⇒ 文档 |数组<Document>
创建一个新文档。
实例方法详细信息
# create (attributes = nil, &block) ⇒文档|数组 < Document >
创建新文档。 这将实例化一个新文档并将其插入到一次调用中。 无论保存是否通过,都将始终返回文档。
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 >
创建新文档。 这将实例化一个新文档并将其插入到一次调用中。 无论保存是否通过,都将始终返回文档,如果验证失败,则会引发错误。
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 |