ruby on rails HTTparty में पासिंग हेडर और क्वेरी परम




ruby-on-rails http-headers (2)

HTTparty का उपयोग करके पद विधि में क्वेरी params और हेडर कैसे पास करें। मैं निम्नानुसार कर रहा हूं लेकिन यह फेंकता है

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'

यह थोड़ा पुराना सवाल है, लेकिन हमारे पास हाल ही में एक ही मुद्दा था, इसलिए मैं अपने समाधान संलग्न करने का प्रयास करता हूं:

1) उपरोक्त जवाब काम कर रहा है:

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

2) वैकल्पिक रूप से, अन्य समाधान है:

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

Symbols बजाय अपने हैश कुंजी के लिए Strings उपयोग करें।

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

HTTParty.post(
  "https://www.acb.com/api/v2/market/LTC_BTC/", 
  :query => query,
  :headers => headers
)

यह शायद केवल headers थे जो net/http/header.rb:172 में त्रुटि के कारण एक समस्या पैदा कर रहे थे। headers net/http/header.rb:172 । महत्वपूर्ण जानकारी के लिए undefined method 'split' for :key:Symbol (NoMethodError)

irb में प्रतीक त्रुटि:

irb(main):002:0> "Something".split
=> ["Something"]

irb(main):003:0> :Something.split
NoMethodError: undefined method `split' for :Something:Symbol
        from (irb):3
        from /usr/bin/irb:12:in `<main>'




httparty