我使用的是克隆性宝石。我可以对关联进行深度复制,也可以从父对象中排除属性。但是,是否有办法排除这些属性,甚至从关联中排除出来?
发布于 2014-03-04 16:24:33
看起来,您可以显式地从父或关联或两者中排除属性。下面是一个直接来自文档的示例:
pirate.dup :include => :parrot, :except => [:name, { :parrot => [:name] }]对于您的情况,您需要删除父级的名称,如下所示:
pirate.dup :include => :parrot, :except => [{ :parrot => [:name] }]另外,您还可以包含来自关联的属性,如果您想使用白名单技术,它可以很好地满足您的需求。以下是直接从文档中获取的示例:
pirate.dup :include => :parrot, :only => [:name, { :parrot => [:name] }]对于白名单,您可能要做的是:
pirate.dup :include => :parrot, :only => [{ :parrot => [:name] }]希望这能有所帮助!
https://stackoverflow.com/questions/22177125
复制相似问题