2016-06-19 106 views
0

我想將一些查詢參數傳遞給HTTParty.get。我有一個輔助方法來處理請求Httpd請求查詢未正確解析

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 

而另一種方法來提出請求:

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

當我把這種方法就像investments({"User" => "test"})我應該用GET請求/account/investments?User=test結束。 不幸的是,請求參數沒有正確解析,得到的請求如下所示:/account/balance?[{%22User%22=%3E%22test%22}]

任何線索爲什麼發生這種情況?我認爲這與我寫的方法有關。

回答

1

在聲明方法def investments(*params)params將包含參數的陣列,並希望將哈希傳遞給您的通話get。因此,要麼刪除星號並簡單地說def investments(params),要麼稍後在方法中使用query: params.first