rails 3.1.12 - request.parameters在过滤器后缺少user_id键值对

时间:2014-08-20 06:37:50

标签: ruby ruby-on-rails-3.1

在我对遗留系统的请求中,我正在记录请求和响应(@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"}

而且我很确定我们没有故意操纵这个对象。提前谢谢。

1 个答案:

答案 0 :(得分:0)

是的,params在单独的模块中以嵌套级别进行了修改。