我有一些控制器。在这个控制器中,我得到 OpenStruct 对象并希望将其保存到应用程序会话中。下一个代码工作正常:
session[:info] = OpenStruct.new(first_field: 1, second_field: 'two')
p session[:info]
在此行打印之后
#<OpenStruct first_field=1, second_field="two">
但在此之后,我确实重定向到另一个控制器,当我p session[:info]
在这个控制器中写入时,我得到
{"table"=>{"first_field"=>1, "second_field"=>"two"}}
那么,为什么我会得到这个,以及如何加载正确的 OpenStruct 实例?