从URI :: Generic对象获取路径和查询

时间:2018-03-08 04:12:21

标签: ruby uri

我正在尝试理解URI::Generic对象。但我找不到如何将路径和查询拉出到API中的一个统一字符串中。

如果我有这个对象:

#<URI::Generic /api/trading/model/123456789?api_key=12345>

我该如何归还:

"/api/trading/model/123456789?api_key=12345"

似乎我应该可以调用某个实例方法,但我似乎无法在URI api上找到任何内容。任何人都可以帮忙吗?

用法:

def get(path, params)
  uri = URI(path)

  if params.any?
    uri.query = URI.encode_www_form(params)
  end

  # PASS SRTRING INTO REQUEST
  request = Net::HTTP::Get.new(uri)

  execute_request(request)
end

1 个答案:

答案 0 :(得分:2)

您正在寻找#to_s方法:

(irb)> uri
#<URI::Generic /api/trading/model/123456789?api_key=12345>

(irb)> uri.to_s
"/api/trading/model/123456789?api_key=12345"

请记住,一切都是ruby中的Object,你总是可以在所有内容上调用#methods来获取该对象的所有导出函数的列表。