我的代码看起来像这样
class MyController
def my_action
#params hash gets passed here
...
logger.debug "PARAMS >> #{params.inspect}" #first inspect
@a = MyModule::MyClass.new(params).my_func #some operations done with the argument
logger.debug "PARAMS >> #{params.inspect}" #second inspect
end
end
我的问题是,“第二次检查”中的参数哈希与“第一次检查”中的不同。当在类的初始化程序中传递参数散列时,会添加更多的键值对,当我对参数进行“第二次检查”时,我也会在其中找到相同的键值对!这怎么可能?我什至尝试传递一个包含操作参数哈希的单独变量,但徒劳无功!
首先检查:{"action"=>"report", "controller"=>"member/monitoring", "offset"=>"0"}
第二次检查:{"new_key1"=>"new_val1", "action"=>"report", "controller"=>"member/monitoring","new_key2"=>"new_val2", "new_key3"=>"new_val3", "offset"=>"0"}
new_key* 被添加到类中,但它们也出现在操作的参数散列中。