【发布时间】:2012-08-28 20:35:30
【问题描述】:
我想知道发生了什么。
当我执行以下操作时:
new_struct = OpenStruct.new()
new_struct.color = 'Red'
new_struct.number = 4
这会导致:
#<OpenStruct color="Red", number=4>
如果我随后创建并更改一些参数:
params = { first: new_struct.marshal_dump }
params[:first][:color] = 'Orange'
这导致 OpenStruct 更改为:
#<OpenStruct color="Orange", number=4>
如果我更改了 params 哈希,为什么这个 OpenStruct 会发生变化?有没有办法在不更改 OpenStruct 的情况下更改 params 哈希?
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby openstruct