У меня есть сборка проекта с использованием 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