Ruby URI - 如何在 URL 之后获取完整路径

标签 ruby parsing uri

给定以下内容,如何获取 URL 的完整路径

uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413")

我只想要posts?id=30&limit=5#time=1305298413

我试过 uri.path 并返回/posts 和 ui.query 返回 'id=30&limit=5'

最佳答案

您要找的方法是request_uri

uri.request_uri
=> "/posts?id=30&limit=5"

如果需要,您可以使用任何您想要删除前导 / 的方法。

编辑:要获取 # 符号后的部分,请使用 fragment:

[uri.request_uri, uri.fragment].join("#")
=> "/posts?id=30&limit=5#time=1305298413"

关于Ruby URI - 如何在 URL 之后获取完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32293137/

相关文章:

ruby-on-rails - 带有 Wordpress 博客的 Heroku 应用程序

ruby - 有备份的Ruby项目吗?

java - 如何在 GWT 中替换 StringTokenzier(..., true) ?

c# - 将字符串转换为 BigInteger

android - 如何从android目录URI获取绝对路径

ruby - 如何处理 mongodb 在 ruby​​ 中的 E11000 重复键错误

ruby - 构建 native 扩展。这可能需要一段时间

parsing - 使用从右到左的解析器绕过左递归

uri - 如何创建mailto : link without the (to) part

java - 无法弄清楚 URIException