使用model.with_lock时未触发after_rollback

时间:2018-08-29 10:05:55

标签: ruby-on-rails-4 postgresql-9.3 postgresql-9.5

我有一个使用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中使用

0 个答案:

没有答案