Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 软删除记录的更新列(偏执狂)_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 软删除记录的更新列(偏执狂)

Ruby on rails 软删除记录的更新列(偏执狂),ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我想在Ruby on Rails上更新软删除记录列。 代码是 item = Item.with_deleted.find_by(name: name) item.title = "foo" item.save! 对于非软删除记录,此操作正常, 但对于软删除记录,此错误将在“item.save!”上输出 找不到“id”=4的项目[其中项目已删除\u at为空] 此代码具有相同的结果 item = Item.with_deleted.find_by(name: name).update!(titl

我想在Ruby on Rails上更新软删除记录列。
代码是

item = Item.with_deleted.find_by(name: name)
item.title = "foo"
item.save!
对于非软删除记录,此操作正常,
但对于软删除记录,此错误将在“item.save!”上输出

找不到“id”=4的项目[其中
项目
已删除\u at
为空]

此代码具有相同的结果

item = Item.with_deleted.find_by(name: name).update!(title: 'foo')
奇怪的是,在“rails控制台”中,这些代码运行良好。
在“rails服务器”中,它们不起作用

任何信息都会大有帮助。

谢谢

您是否尝试过
项。已删除。\u。通过(名称:name)查找。\u。已删除。\u。更新!(标题:“foo”)
?可能是在调用.update时,使用
和_deleted
找到的项目不再具有查找范围。我不知道这是否有帮助,但如果没有帮助,您可能会很高兴使用类似于
Item.update\u all([“name=?”,name],title:'foo')。限制(1)
,这将绕过模型的所有验证和回调逻辑。您是否尝试过
Item.with\u deleted.find\u by(name:name)。with\u deleted.update!(标题:“foo”)
?可能是在调用.update时,使用
和_deleted
找到的项目不再具有查找范围。我不知道这是否有帮助,但如果没有,您可能很乐意使用类似
Item.update_all([“name=?”,name],title:'foo')。限制(1)
,但这将绕过模型的所有验证和回调逻辑。