Ruby on rails Rails控制器通过JSON查询获取控制器路由的参数?
我运行的是Rails 5.0.0.1,有一个名为Voice::NumbersController的控制器,可以通过如下路径访问:Ruby on rails Rails控制器通过JSON查询获取控制器路由的参数?,ruby-on-rails,json,Ruby On Rails,Json,我运行的是Rails 5.0.0.1,有一个名为Voice::NumbersController的控制器,可以通过如下路径访问: scope '/api' do namespace :v1 do namespace :voice do resources :numbers end end end 我想要一个可选参数“number”。出于某种原因,当请求中有内容类型:application/json时,对/api/v1/voice/
scope '/api' do
namespace :v1 do
namespace :voice do
resources :numbers
end
end
end
我想要一个可选参数“number”。出于某种原因,当请求中有内容类型:application/json时,对/api/v1/voice/numbers的GET请求(不带参数)会将params[:numbers]
传递给它
这是不是因为与身体的接触混淆了事情?如果我在正文中放入一些内容(即“hello”:5),我会得到以下结果:
Parameters: {"_json"=>"hello: 5", "number"=>{"_json"=>"hello: 5"}}
这对我来说没有多大意义——设置了“_json”而不是“number”似乎是合理的
有没有办法禁用自动包含“number”参数的功能?这是
我相信您可以在config/initializers/wrap_parameters.rb
中禁用它,如下所示:
ActiveSupport.on_load(:action_controller) do
wrap_parameters format: []
end
您还可以基于每个控制器禁用它:
class Voice::NumbersController < ApplicationController
wrap_parameters false
# ...
end
class Voice::NumbersController
这是一个
我相信您可以在config/initializers/wrap_parameters.rb
中禁用它,如下所示:
ActiveSupport.on_load(:action_controller) do
wrap_parameters format: []
end
您还可以基于每个控制器禁用它:
class Voice::NumbersController < ApplicationController
wrap_parameters false
# ...
end
class Voice::NumbersController