4

我有一个文件“5.json”,看起来像:

 {"id": "5","name": "test"}. 

没有根节点。当我运行 curl 时:

curl -v -H "Content-Type: application/json" -X PUT --data "@5.json" http://localhost:3000/todos/5

rails 自动将这些参数提供给控制器:

Parameters: {"id"=>"5", "name"=>"test"}, "todo"=>{"name"=>"test"}}

谁能指出我为什么/如何在参数中自动将 json 嵌套在“todo”下?我喜欢它——只是希望我知道为什么/如何。查看了 action_dispatch/middleware/params_parser 并没有看到任何内容。

导轨 3.2.14

路线条目看起来像

 resources :todos
4

1 回答 1

4

啊,刚刚找到它:action_controller/metal/params_wrapper.rb 描述在这里: http ://edgeapi.rubyonrails.org/classes/ActionController/ParamsWrapper.html

我确实为 :json 配置了 wrap_parameters.rb。

于 2013-09-25T17:24:24.390 回答