2

我有一个这样的网址:/hello/world#/lol/backbone

我想用红宝石访问完整的完整路径。我通常会做这样的事情:request.fullpath但这只会返回/hello/world并离开#/lol/backbone/

谷歌搜索了一段时间。好像找不到

4

1 回答 1

3

您无法在服务器代码中获取片段,URL 片段 ( #/lol/backbone) 是客户端问题。浏览器将解释该片段,但不会将其发送到您的服务器。

如果您需要该片段,那么您必须通过使用一些 JavaScript 拦截您的链接将其转换为参数,然后服务器可能会看到类似

/hello/world?frag=/lol/backbone

你可以将片段拉出params[:frag]. 当然,这确实假设您的 JavaScript 链接拦截器将运行,这并不能保证,因此您的服务器端代码应该为丢失的params[:frag].

于 2012-08-24T01:55:15.733 回答