【发布时间】:2015-04-06 22:02:46
【问题描述】:
我对 RoR 有疑问。我想从地址栏中的 URL 中提取路径名。假设我的地址栏中有"http://localhost:3000/#toregister",我只需要#toregister。那么我怎样才能仅使用 RoR 将此路径名获取到控制器页面。
【问题讨论】:
我对 RoR 有疑问。我想从地址栏中的 URL 中提取路径名。假设我的地址栏中有"http://localhost:3000/#toregister",我只需要#toregister。那么我怎样才能仅使用 RoR 将此路径名获取到控制器页面。
【问题讨论】:
使用URI模块
uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
#=> #<URI::HTTP:0x00000000b14880 URL:http://foo.com/posts?id=30&limit=5#time=1305298413>
uri.fragment
#=> "time=1305298413"
【讨论】:
很遗憾 - 你不能这样做。这仅在客户端可用。查看answer了解更多信息
【讨论】:
您无法在服务器端获取锚点的值。但是如果你需要解析现有的url字符串,你可以使用内置的URI模块:
URI('http://localhost:3000/#toregister').fragment # returns 'toregister'
【讨论】: