悲观锁定失败

时间:2015-11-04 11:57:36

标签: ruby-on-rails activerecord pessimistic-locking

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

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

但是当我运行代码时,我收到错误:

  

尝试更新过时的对象:Item

我不明白为什么,我按照rails文档。

1 个答案:

答案 0 :(得分:3)

def codeOnly (file): '''Opens a file and prints the content excluding anything with a hash in it''' f = open('boring.txt','r') codecontent = f.read() print(codecontent) codeOnly('boring.txt') 用于乐观锁定,您还使用悲观锁定来链接lock_version中的find。 Rails在两者之间变得混乱 - 选择其中一个。