创建记录的深拷贝?

Create a deep copy of a record?

我需要能够复制一条记录。我的意思是:所有引用都需要深度复制。

例如,如果我有一个案例并且它有一个 patient_id 链接到一个患者,复制一个案例也意味着创建一个患者的副本。

因此,'best practices' 的方法是什么?我的第一个想法是为我的所有模型创建一个 create_copy 方法,并且每个模型都调用它们的所有依赖项来创建级联深层副本。

我只是想知道是否有更多 'rails' 方法可以添加到克隆功能中?

您可能想尝试 Amoeba gem。

参考:

还有deep_clonable.

它们都与 Rails 4 一起使用并且最近已更新。