我正在尝试使用POST和嵌套参数进行Http Basic身份验证。虽然外部参数可以正常工作(class.name-ActionController :: Parameters),但嵌套参数是字符串(class.name-String)这是我的代码->
require 'net/http'
uri = URI('http://example.com/bulb/')
req = Net::HTTP::Post.new(uri)
req.basic_auth '[email protected]', 'mypassword'
req.set_form_data('first_params' => 'a', 'seconnd_params'=>'b', 'netsed_params'=>{'first_netsed'=>'c', 'second_nested'=>'d'}, 'commit'=>'Create Bulb', 'action'=>'create', 'controller'=>'bulb')
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end
case res
when Net::HTTPSuccess, Net::HTTPRedirection
# OK
else
#failed
end
我可以使用什么其他库来使嵌套参数起作用,而不必手动转换它们。我看到这set_form_data
不适用于嵌套哈希
试试这个
req.set_form_data('first_params' => 'a', 'second_params'=>'b', 'nested_params[first_nested]' => 'c', 'nested_params[second_nested]' => 'd'}, 'commit'=>'Create Bulb', 'action'=>'create', 'controller'=>'bulb')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句