Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在HttpParty中传递头和查询参数_Ruby On Rails_Ruby_Http Headers_Httparty - Fatal编程技术网

Ruby on rails 在HttpParty中传递头和查询参数

Ruby on rails 在HttpParty中传递头和查询参数,ruby-on-rails,ruby,http-headers,httparty,Ruby On Rails,Ruby,Http Headers,Httparty,如何使用HTTparty在post方法中传递查询参数和头。我的工作如下 但它会抛出 query = {:method => "neworder", :nonce => 1404996028, :order_type => "buy", :quantity=>1,:rate=>1} headers = {:key=> "87819747209090199871234", :sign=> "0a3888ac7f8e411ad73a0a503c55db70a2

如何使用HTTparty在post方法中传递查询参数和头。我的工作如下 但它会抛出

query = {:method => "neworder", :nonce => 1404996028, :order_type => "buy", :quantity=>1,:rate=>1}
headers = {:key=> "87819747209090199871234", :sign=> "0a3888ac7f8e411ad73a0a503c55db70a291rsf34bfb9f9a47147d5200882674f717f6ede475669f3453"}

HTTParty.post("https://www.acb.com/api/v2/market/LTC_BTC/", :query => query, :headers => headers )
但它抛出了以下错误。如何使用HTTparty处理查询字符串参数和标题

/home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:172:in `capitalize': undefined method `split' for :key:Symbol (NoMethodError)
from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:165:in `block in each_capitalized'
from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:164:in `each'
from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:164:in `each_capitalized'
用于哈希键,而不是

可能只有
标题
由于中发生的错误而导致问题。重要信息是:key:Symbol(NoMethodError)

符号错误:

irb(main):002:0>“某物”。拆分
=>[“某物”]
irb(主):003:0>:某物。拆分
NoMethodError:未定义的方法“拆分”用于:某物:符号
来自(irb):3
from/usr/bin/irb:12:in`'

这是一个有点老的问题,但我们最近遇到了相同的问题,因此我尝试附上我的解决方案:

1) 上述答案是有效的:

  "headers": {
      "Authorization" => "Bearer #{token}"
    }
2) 或者,另一种解决方案是:

  headers: {
      Authorization: "Bearer #{token}"
    }

我发现,使用
:body
而不是
:query
的一些API调用将起作用。通常要注意如何命名请求参数
  "headers": {
      "Authorization" => "Bearer #{token}"
    }
  headers: {
      Authorization: "Bearer #{token}"
    }