在我对遗留系统的请求中,我正在记录请求和响应(@legacy端)。我通过在过滤器之前和之后应用到api模块基本控制器来实现这一点。但我错过了after_filter中request.parameters哈希中的user_id
。我在过滤器之前检查request.parameters hash并且user_id存在。任何人都可以让我了解为什么会这样。
版本
ruby 1.9.3p547 (2014-05-14 revision 45962) [i686-linux]
rails 3.1.12
例如:
在过滤器之前
{"search_params"=>{"d"=>"08/20/2014", "c_id"=>["22"], "f_id"=>["2066"], "user_id"=>"1"}, "order_parameters"=>{"is_worked_on"=>"DESC", "new_match_count"=>"DESC", "association_status_id"=>"DESC"}, "pagination_parameters"=>{"page"=>"1", "per_page"=>"10"}, "format"=>"json", "action"=>"index", "controller"=>"api/v1/tests"}
在过滤后
{"search_params"=>{"d"=>"08/20/2014", "c_id"=>["22"], "f_id"=>["2066"]},
"order_parameters"=>{"is_worked_on"=>"DESC", "new_match_count"=>"DESC", "association_status_id"=>"DESC"}, "pagination_parameters"=>{"page"=>"1", "per_page"=>"10"}, "format"=>"json", "action"=>"index", "controller"=>"api/v1/tests"}
而且我很确定我们没有故意操纵这个对象。提前谢谢。
答案 0 :(得分:0)
是的,params在单独的模块中以嵌套级别进行了修改。