나는 무슨 일이 일어나고 있는지 알고 싶습니다.덤프 값이있는 해시가 변경되면 OpenStruct 값이 변경되는 이유는 무엇입니까?
다음 작업을 수행 할 때
new_struct = OpenStruct.new()
new_struct.color = 'Red'
new_struct.number = 4
이 결과 :
params = { first: new_struct.marshal_dump }
params[:first][:color] = 'Orange'
이 변경 OpenStruct 결과 : 다음 몇 가지 PARAMS을 만들고 변경하는 경우
#<OpenStruct color="Red", number=4>
~까지 :
#<OpenStruct color="Orange", number=4>
왜 params 해시를 변경하면이 OpenStruct가 변경됩니까? 그리고 OpenStruct를 변경하지 않고 params 해시를 변경하는 방법이 있습니까?
감사합니다.
감사합니다. 나는 약간의 이유가 있어야한다고 생각했습니다. OpenStruct는 db의 컬럼 중 하나 였고, 변화하고 있다는 사실에 놀랐습니다. – Lee