我正在尝试理解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
答案 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
来获取该对象的所有导出函数的列表。