ある ActiveRecord
トランザクション、読み取りのためにレコード/テーブルをロックするための何らかの方法が必要なので、トランザクションが実行されている間、ユーザーはこのテーブルから選択することができませんでした。
基本的に、私はこのようなものが必要です
System.transaction do
s = System.first
# Something to lock the table or selected record for reading
s.update_attributes(some_params)
end
その方法について誰かが考えを持っていますか?
回答:
回答№1は1それはあなたが探しているようです 悲観的ロック。あなたは lock
スコープのような方法。さらに、あなたはbang-versionを使うべきです update_attributes!
問題が発生したときに例外を発生させるために。
System.transaction do
s = System.lock.first
s.update_attributes!(some_params)
end