ActiveRecordで最近作成されたオブジェクトを返す最良の方法は?
概要
呼び出されたときにデータベースレコードを作成するオブジェクトを作成しており、この関数が新しく作成されたオブジェクトを返すようにしたいと考えています。これが私が得たものです:
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
または、作成を使用してください!新規作成の代わりに保存してください!このような:
data = { foo: 'foo', bar: 'bar' }
Dummy.create!(data) # returns the created instance or raises an error if not successful