我有一个模型User
,它有许多报告。每个Report
有多个Records
我想合并2个报告,使所有的记录report_id作为第一个从第二个。
目前我已经这样做了,但我认为有一个更快的方法,这需要太长时间!
reports = params[:reports]
to_merge_report = Report.find(params[:to_merge_report])
reports.each do |report, value|
r = Report.find(value)
r.records.each do |record|
record.report = to_merge_report
record.save!
end
r.destroy
end
任何想法?
我认为您可以更改第二个报告记录中的report_id,以便每个记录都指向第一个报告而不是第二个报告。
首先,设置id_1
为第一个报告的ID,设置id_2
为第二个报告的ID。
然后……
first_report = Report.find(id_1)
first_set_of_records = first_report.records
second_report = Report.find(id_2)
second_set_of_records = second_report.records
second_set_of_records.each |record|
record.report_id = first_report.id
record.save
end