Ruby on rails 制作多个记录的副本

Ruby on rails 制作多个记录的副本,ruby-on-rails,Ruby On Rails,轨道2.3.5 我有一个带有“目录id”和“文件夹id”外键的联系人模型 在索引页上,我可以选择多个联系人,以便将这些联系人复制到不同的目录/文件夹。提交表单时,存在以下参数(所有联系人id以及目录和文件夹外键): 因此,我需要找到所有联系人记录,更改目录和文件夹的id,并将它们保存为新记录(副本) 据我所知,clone(对于id字段为空的副本)仅适用于单个记录,而save仅适用于单个记录。我现在唯一能想到的就是循环浏览每个“选定联系人”,查找、修改并分别保存它们 有没有一个简单的方法可以做到这

轨道2.3.5

我有一个带有“目录id”和“文件夹id”外键的联系人模型

在索引页上,我可以选择多个联系人,以便将这些联系人复制到不同的目录/文件夹。提交表单时,存在以下参数(所有联系人id以及目录和文件夹外键):

因此,我需要找到所有联系人记录,更改目录和文件夹的id,并将它们保存为新记录(副本)

据我所知,clone(对于id字段为空的副本)仅适用于单个记录,而save仅适用于单个记录。我现在唯一能想到的就是循环浏览每个“选定联系人”,查找、修改并分别保存它们

有没有一个简单的方法可以做到这一点,或者我应该如何做呢


谢谢大家!

在一条语句中加载所有选定联系人的操作如下:

selected_contacts = Contacts.find ["9", "14", "10", "13", "12", "11"]
要克隆这些联系人并保存新副本,我认为没有比实现循环更简单的方法了

selected_contacts.each do |contact|
    contact_clone = contact.clone
    # manipulate contact_clone
    contact_clone.save
end
如果这在您的情况下不够有效,那么您可能必须编写自定义SQL

selected_contacts.each do |contact|
    contact_clone = contact.clone
    # manipulate contact_clone
    contact_clone.save
end