我正在创建一个对象,调用该对象时将创建一个数据库记录,并且我希望此函数返回新创建的对象。这就是我得到的:
data = {foo: 'foo', bar: 'bar'}
Dummy.new(data).save! # true
Dummy.last # newest record in the database
我担心当同一数据库上有多个会话时这意味着什么。有没有一种可靠的方法可以获取我刚刚创建的记录?
只需将您创建的实例分配给变量即可:
data = { foo: 'foo', bar: 'bar' }
dummy = Dummy.new(data)
dummy.save!
dummy # the record you just created
或者使用
create!
代替 new
和 save!
,如下所示:
data = { foo: 'foo', bar: 'bar' }
Dummy.create!(data) # returns the created instance or raises an error if not successful