Ruby on rails rails-使用多个已更改的属性更新活动记录关系

Ruby on rails rails-使用多个已更改的属性更新活动记录关系,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我的活动记录关系定义如下: contacts = Contact.where("status = 'waiting'") 然后,我运行一个。每个循环,并根据某些逻辑更改触点的属性 我不想做保存在每个联系人上。。。循环后如何更好地保存整个联系人关系 contacts.each do |contact| //Change properties of contact here end 在包含新属性后,如何保存新更新的联系人activerecord关系 最有效的方法不能是逐个联系

我的活动记录关系定义如下:

contacts = Contact.where("status = 'waiting'")
然后,我运行一个
。每个
循环,并根据某些逻辑更改触点的属性

我不想做
保存在每个联系人上。。。循环后如何更好地保存整个联系人关系

contacts.each do |contact|

        //Change properties of contact here

end
在包含新属性后,如何保存新更新的联系人activerecord关系


最有效的方法不能是逐个联系人进行保存。

update\u all可使您免于执行循环并为您进行保存,以下是文档。
您可以使用。正如您所说的,您可以为每个联系人分配所有新值,并最终使用此功能以批量方式保存更改

您的逻辑可以用SQL实现吗?因此,我们可以使用ActiveRecord并在数据库中立即执行,而无需在对象上循环。否。太多的事情发生在每个人的内心。你认为如果我有一个更新的activerecord关系,那么我可以用sql进行更新吗?对不起,如果你是这个意思。请让我知道@StephanePaquetI正在考虑按类型对更新进行分组,以便您可以使用UPDATE命令。类似于
用新值更新表集合字段,其中条件
请分享您确切需要的内容-“我有一些内部逻辑”是不够的,其他人无法估计您的意图,除非您编写。@marmeladze每个循环范围内发生的事情和这个问题无关。属于该范围的部分是,每个联系人都被分配了一个不同的属性/id,无论您想将其称为什么。现在我如何用新属性更新联系人活动记录关系。。。。除了我描述的内容之外,我看不出循环的内容有什么关联。循环不仅仅是更新字段。我还使用联系人的属性,并使用不同的属性修改不同的联系人。这不管用。谢谢你能分享代码让我们更好地了解你在这个循环中做了什么吗?