首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用deep_cloneable gem时,如何从关联中排除属性?

在使用deep_cloneable gem时,如何从关联中排除属性?
EN

Stack Overflow用户
提问于 2014-03-04 16:11:20
回答 1查看 834关注 0票数 1

我使用的是克隆性宝石。我可以对关联进行深度复制,也可以从父对象中排除属性。但是,是否有办法排除这些属性,甚至从关联中排除出来?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-04 16:24:33

看起来,您可以显式地从父或关联或两者中排除属性。下面是一个直接来自文档的示例:

代码语言:javascript
复制
pirate.dup :include => :parrot, :except => [:name, { :parrot => [:name] }]

对于您的情况,您需要删除父级的名称,如下所示:

代码语言:javascript
复制
pirate.dup :include => :parrot, :except => [{ :parrot => [:name] }]

另外,您还可以包含来自关联的属性,如果您想使用白名单技术,它可以很好地满足您的需求。以下是直接从文档中获取的示例:

代码语言:javascript
复制
pirate.dup :include => :parrot, :only => [:name, { :parrot => [:name] }]

对于白名单,您可能要做的是:

代码语言:javascript
复制
pirate.dup :include => :parrot, :only => [{ :parrot => [:name] }]

希望这能有所帮助!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22177125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档