hash的undefined byte_size

时间:2015-05-27 01:24:32

标签: ruby ruby-on-rails-4

我试图绕过ruby中的get请求。

    uri = URI.parse(ENV["DATA_URL"])
    http = Net::HTTP.new(uri.host, uri.port)
    headers["Authorization"] = data["authHeader"]
    request = Net::HTTP::Get.new(uri.request_uri,headers)
    response = http.request( request, form_data )
    JSON.parse(response.body)

我不确定为什么会这样,感谢任何帮助

2 个答案:

答案 0 :(得分:1)

您的form_data可能是哈希,需要将其格式化为字符串。尝试:

formatted_data = URI.encode_www_form(form_data)
response = http.request( request, formatted_data )

http://docs.ruby-lang.org/en/trunk/URI.html#method-c-encode_www_form

答案 1 :(得分:0)

问题可能是因为form_data属性。我在传递数据时使用URI.encode_www_form。你可以在这里引用URI :: encode_www_form

您可以执行URI.encode_www_form(form_data)并解决问题