【发布时间】:2009-04-05 07:29:49
【问题描述】:
我希望能够将 ActiveRecord 模型的 10 个实例及其所有关联“深度克隆”到内存中,对它们进行处理,更新内存中的对象,然后,当我完成后,选择一个回写数据库中的原始数据。
如何进行深度克隆(即 .clone 以及将所有关联克隆到关联树的底部)?到目前为止,我假设我将不得不在模型中编写自己的方法。
在我准备好之前,如何确保所有克隆实例都不会写回数据库?
如果可能的话,我想:-
保留所有当前 ID,因为我的主要关联之一是 has_many :through 将一个模型的 ID 匹配到另一个模型
仍然能够像对待数据库中一样对待每个克隆(即 .find_by_id 等将起作用)
也许是一根棍子上的月亮? ;)
【问题讨论】:
标签: ruby-on-rails activerecord caching