我知道我可以通过框架来获得这个答案,但我希望有人可以节省我的时间。
Model.create
方法允许我创建一个新对象数组:
# Create an Array of new objects
User.create([{ :first_name => 'Jamie' }, { :first_name => 'Jeremy' }])
似乎在场景后面Rails只是一次一个地调用每个对象上的create
。我只是想知道,如果由于数据库问题导致任何create
调用失败,Rails会回滚前一次调用所做的所有更改,还是我必须自己处理的事情?
答案 0 :(得分:0)
通常,默认情况下rails
假设您有一个名为users
的表格,该表格与User
模型相关,
,最重要的是rails
假设,它有一个名为id
的自动增量主键,因此当它创建记录时,rails
会插入所有期望id
字段的内容。
因此,当您创建多条记录时,它只会为每条记录创建一个唯一键。
但是你可以覆盖这个默认值:)