首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 5-6:获取完整URL

Rails 5-6:获取完整URL
EN

Stack Overflow用户
提问于 2020-01-30 20:57:46
回答 2查看 69关注 0票数 1

我想知道在Rails5或6中是否有获取当前访问的完整url的方法。

例如:

代码语言:javascript
运行
复制
http://localhost:3000/#about

http://localhost:3000/books

http://localhost:3000/books/sale

http://localhost:3000/books/#reference

我尝试过request.fullpath,但它不能处理特殊字符,如来自http://localhost:3000/#abouthttp://localhost:3000/books/#reference#

我只需要完整的网址,因为它是。有没有办法做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2020-01-30 21:28:30

#之后的Url部分被称为锚,它不会被发送到服务器,完全在浏览器中处理(默认情况下,它会滚动到具有相同ida元素,通常也会被SPA重载以获得一些类似的效果)。

在用户的地址栏中获取完整页面位置的唯一方法是从javascript window.location获取,然后以某种方式发送到后端。

票数 2
EN

Stack Overflow用户

发布于 2020-01-30 21:28:57

在将请求发送到服务器之前,浏览器会剥离锚文本( #字符之后的任何内容)。因此,默认情况下,此信息对您不可用。

如果您希望在服务器端读取此信息,则必须将锚文本作为请求的参数,并设置锚变量。(设置锚变量会独占地修改生成的html标记的href属性)

例如。

<%= link_to "Books", books_path(params.merge(anchor: "sent-to-server")), anchor: "rendered-in-dom" %>

然后,可以使用params[:anchor]在服务器端读取锚点

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59986591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档