2016-08-03 25 views
0

Ich versuche, HTTP-Authentifizierung mit POST und verschachtelte Parameter zu tun. Während die äußeren Parameter fein (class.name - Action :: Parameter) arbeiten die verschachtelten Parameter string (class.name - String) Hier ist mein Code ->Ruby: http POST mit verschachtelten Parametern funktioniert nicht

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 

Welche anderen Bibliothek kann ich nutzen, um Machen Sie die geschachtelten Parameter funktionstüchtig, ohne sie manuell konvertieren zu müssen. Ich sehe, dass set_form_data nicht mit verschachtelten Hash

Antwort

0

Versuchen Sie, diese

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') 
+0

Dank funktioniert! Das hat perfekt funktioniert! – KavitaC

Verwandte Themen