我需要一个通用的克隆解决方案来在Ruby中深度克隆一个模块及其所有实例变量。我不能真正使用.clone方法,因为它不能在活动记录对象上工作(不复制id字段)。
我还看到了使用编组转储+编组加载的变通方法,但它不适用于模块和单例对象。有没有人知道深度克隆模块的解决方案?也许你有别的办法来解决我真正的问题。
我有一个设置了实例变量的模块,我需要将它克隆到另一个模块,修改克隆对象中的对象,然后再次克隆第一个模块,而不需要第二个模块进行更改。
发布于 2009-09-26 21:34:58
你可以对ActiveRecord对象使用dup而不是clone,但是dup不会复制单例方法(定义在对象上),它会将冻结状态更改为污染状态。
至于Rails,还有用于ActiveRecord克隆的Deep cloning插件。
https://stackoverflow.com/questions/1482118
复制相似问题