1

我的控制器中有以下代码:

Item.transaction do
  item = JobDistribution.lock(true).find(params[:id])
  item.update_attributes(status: JobDistribution.statuses[:processing])
  respond_to do |format|
    format.json { render :json => "object processing", status: :success }
  end
end

但是当我运行代码时出现错误:

尝试更新过时的对象:项目

我不明白为什么,我遵循了 Rails 文档。

4

1 回答 1

3

lock_version用于乐观锁定,您还使用悲观锁定来链接您findlock. Rails 在两者之间感到困惑 - 选择一个或另一个。

于 2015-11-04T16:14:47.087 回答