我有这样的网址:/ hello / world#/ lol / backbone
我希望能够以红宝石的形式访问完整的整条路径。我通常会做这样的事情:request.fullpath
但是只返回/hello/world
并且不在#/lol/backbone/
谷歌搜索了一段时间。似乎无法找到它。
答案 0 :(得分:3)
您无法在服务器代码中获取片段,URL片段(#/lol/backbone
)是客户端问题。浏览器将解释片段,但不会将其发送到您的服务器。
如果您需要片段,那么您必须通过使用一些JavaScript拦截您的链接将其转换为参数,然后服务器可能会看到类似
的内容/hello/world?frag=/lol/backbone
你可以从params[:frag]
中拉出片段。这当然假设您的JavaScript链接拦截器将被运行,这是不可保证的,因此您的服务器端代码应该为缺少的params[:frag]
做好准备。