Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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 ActiveRecord将所有更新为变量值_Ruby_Activerecord_Update All - Fatal编程技术网

Ruby ActiveRecord将所有更新为变量值

Ruby ActiveRecord将所有更新为变量值,ruby,activerecord,update-all,Ruby,Activerecord,Update All,我正在寻找一种方法来更新具有特定条件的所有记录,即当前值+100: 我有一个带有id和score字段的表建议,我希望所有具有特定id的条目都能收到分数提升,例如: Suggestion.where(id: ids_list).update_all(score: score+100) 如何做到这一点?试试普通的SQL,阅读以下内容: 但请记住update\u all不触发活动记录回调或验证 一些提示: 您可以在Ruby中执行此操作,但这非常糟糕: Suggestion.where(id: ids

我正在寻找一种方法来更新具有特定条件的所有记录,即当前值+100:

我有一个带有idscore字段的表建议,我希望所有具有特定id的条目都能收到分数提升,例如:

Suggestion.where(id: ids_list).update_all(score: score+100)

如何做到这一点?

试试普通的
SQL
,阅读以下内容:

但请记住
update\u all
不触发
活动记录
回调或验证

一些提示: 您可以在Ruby中执行此操作,但这非常糟糕:

Suggestion.where(id: ids_list).find_each do |x|
  x.update(score: x.score + 100)
end

这样的事情应该发生在数据库中。

为什么这个答案不被接受?据我所知,这是正确的
Suggestion.where(id: ids_list).find_each do |x|
  x.update(score: x.score + 100)
end