ruby
  • httparty
  • 2016-06-19 4 views 0 likes 
    0

    HTTParty.getにクエリパラメータを渡したいとします。私は/account/investments?User=testにGETリクエストで終わる必要がありますinvestments({"User" => "test"})のように、このメソッドを呼び出すとHttpartyリクエストクエリが正しく解析されない

    def investments(*params) 
        handle_request do 
        url = '/account/investments' 
        self.class.get(url, :query => params) 
        end 
    end 
    

    :私は要求

    def handle_request 
        begin 
        response = yield 
        if response['Success'] 
         response['Payload'] 
        else 
         raise Bondora::Error::ApiError, "#{response['Errors'][0]['Code']}: #{response['Errors'][0]['Message']}" 
        end 
        rescue Net::OpenTimeout, Net::ReadTimeout 
        {} 
        end 
    end 
    

    し、要求を作成するための別の方法を処理するためのヘルパーメソッドを持っています。 残念ながら、リクエストパラメータは正しく解析されず、結果のリクエストは次のようになります。/account/balance?[{%22User%22=%3E%22test%22}]

    これはどうして起こりますか?私はそれが私が書いた方法と関係があると思う。あなたはdef investments(*params)としてメソッドを宣言すると

    答えて

    1

    は、paramsは、引数の配列を含み、そしてあなたのgetコールにハッシュを渡すことになるでしょう。したがって、アスタリスクを削除して、単にdef investments(params)と言うか、後でquery: params.firstを使用してください。

    関連する問題