我的控制器中有以下代码:
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文档。
答案 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在两者之间变得混乱 - 选择其中一个。