我有一个使用Rails 4.2.5构建的项目
当我有
这样的代码时@job = Job.find(1)
update_job(attrs)
如果有任何方法before_ *返回false,则after_rollback被调用,但是当我将代码更改为
@job = Job.find(1)
@job.with_lock('FOR UPDATE NOWAIT') do
update_job(attrs)
end
after_rollback不被调用。我的数据库使用的是PostgreSQL 9.3和9.5。
with_lock块中的上面的代码似乎可以在9.4.4中使用