Httparty 请求查询未正确解析

Httparty request query not parsed properly

我想将一些查询参数传递给 HTTParty.get。我有一个处理请求的辅助方法

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"}) 这样调用此方法时,我应该以对 /account/investments?User=test 的 GET 请求结束。 不幸的是,请求参数没有被正确解析,结果请求如下所示:/account/balance?[{%22User%22=%3E%22test%22}]

知道为什么会这样吗?我觉得和我写的方法有关系

当您将方法声明为 def investments(*params) 时,params 将包含一个 数组 个参数,并且想要传递一个 散列 接听您的 get 电话。因此,要么删除星号并简单地说 def investments(params),要么稍后在方法中使用 query: params.first