轨道 - 使用多个已更改的属性更新活动记录关系



>我有一个活动记录关系,定义如下:

contacts = Contact.where("status = 'waiting'")

然后,我运行一个.each循环,并根据某些逻辑更改联系人的属性。

我不想对每个联系人进行save!...循环后如何更好地保存整个联系人关系?

contacts.each do |contact|
//Change properties of contact here
end

如何在包含新属性后保存新更新的联系人活动记录关系?

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

update_all使您免于执行循环并为您保存,这是文档。 https://apidock.com/rails/v4.0.2/ActiveRecord/Relation/update_all

您可以使用 activerecord-import。正如您所说,您可以为每个联系人分配所有新值,并最终使用此更新器批量保存更改。

最新更新