2016-07-05 9 views
0

ActiveRecordオブジェクトを再ロードせずにロックすることはできますか?Rails ActiveRecord:再ロードせずにロック

user = User.find(1) 
=> #<User id: 1, name: "Ed" ...> 
user.name = "Joe" 
=> "Joe" 
user.lock! 
=> #<User id: 1, name: "Ed" ...> 

生のSQL「SELECT ... FOR UPDATE」を送信できましたが、あまりにもきれいに見えません。

答えて

0

私はActiveRecord::Baseにメソッドを追加することになった:

ActiveRecord::Base.class_eval do 
    def lock_without_reload! 
    self.class.lock(true).find(id) 
    true 
    end 
end 
関連する問題