【发布时间】:2020-04-03 13:27:29
【问题描述】:
我有一个来自 GraphQL 的对象。我需要处理一个字段,然后返回一个哈希。
为此,我最初尝试使用to_h 方法。但是当我尝试更改字段中的值时,我收到了这个错误:
FrozenError - 无法修改冻结的哈希
然后我想出了使用dup 方法的想法。这种方法似乎“解冻”了原始对象:
object.to_h.dup
但这对“深”领域没有帮助。对于“深度”字段,我必须使用本地 dup 方法。
请告诉我是否有更正确的解决方案?
【问题讨论】:
-
我认为你需要一个深拷贝/克隆或其他东西来复制深哈希。我不知道解决方案,但这可能会有所帮助rubygems.org/gems/deep_dive
-
@muistooshort 哇,谢谢!
标签: ruby-on-rails ruby-on-rails-5 ruby-on-rails-6