Ruby on rails 不循环地将ActiveRecord查询记录的字段从1更新为n

Ruby on rails 不循环地将ActiveRecord查询记录的字段从1更新为n,ruby-on-rails,ruby,ruby-on-rails-4,activerecord,ruby-on-rails-5,Ruby On Rails,Ruby,Ruby On Rails 4,Activerecord,Ruby On Rails 5,是否有任何逻辑将ActiveRecord查询记录的字段从1更新为n @user = User.where(country: 'US') 需要将以上@user的字段计数从1更新为n @user = User.where(country: 'US') 提前谢谢 编辑: 需要更新所有记录-字段为计数 AR查询将返回数组,需要将arraytuple的count字段中的每个元素从1到n 示例:AR查询输出:[User1,User2,User3,User4,…] 用户1的计数字段必须更新为1 User2

是否有任何逻辑将ActiveRecord查询记录的字段从1更新为n

@user = User.where(country: 'US')
需要将以上@user的字段计数从1更新为n

@user = User.where(country: 'US')
提前谢谢

编辑:

需要更新所有记录-字段为计数

AR查询将返回数组,需要将arraytuple的count字段中的每个元素从1到n

示例:AR查询输出:[User1,User2,User3,User4,…]

用户1的计数字段必须更新为1


User2的count字段必须更新为2,依此类推。

根据您的数据库,您可以使用SQL进行更新,但ActiveRecord的关系不支持此操作

看看这个:

要执行SQL,可以使用:

User.connection.execute("YOUR SQL HERE...")

您的意思是用户在数据库中有一个计数字段吗?您要更新哪个用户字段?并将@user改为@users以获得更好的名称约定。我不明白你的问题。更新哪个字段?是单个记录,还是一组记录?可能是您希望我们使用update_all??User的答案。wherecountry:“us”不会返回单个用户,而是返回一个用户数组。你想更新什么?该阵列中的所有用户?同一个n?因为他在问题标题中没有循环,我想他是在问User.wherecountry:'US',id:1..n.update\u allwhere:value