Rails如何请求除url参数之外的url?
Posted
技术标签:
【中文标题】Rails如何请求除url参数之外的url?【英文标题】:Rails how to request url except url params? 【发布时间】:2012-04-12 08:24:26 【问题描述】:我正在创建这个链接标签:
<link rel="canonical" href="<%= request.url %>" />
问题在于它是带有参数的完整网址。
如何在没有任何参数的情况下请求 url?
【问题讨论】:
【参考方案1】:request.url.split('?').first
【讨论】:
【参考方案2】:request
是一个 ActionDispatch::Request 并且是 Rack::Request 的子类。 Rack::Request 有一个您可能感兴趣的 path
方法:
<%= request.path %>
如果您的request.url
是http://example.com/where/is?pancakes=house%3F
,那么request.path
应该是/where/is
。
【讨论】:
我认为 James 的解决方案是我的最佳选择,因为我需要完整的 url,而不仅仅是路径。 @Victor:你能更明确一点“不起作用”是什么意思吗? 当然。request.path
给了我?
之后的路径和参数。 request.url.split('?').first
按预期工作。
@Victor: request.path
在 3.2 中不包括我的查询字符串,所以我不确定你的代码是怎么回事。你用的是什么路线?
好吧,我已经在我的代码库中解决了这个问题。我现在正在做其他事情。感谢 cmets/answers。以上是关于Rails如何请求除url参数之外的url?的主要内容,如果未能解决你的问题,请参考以下文章
如何限制 NGINX basic_auth 对除一个 URL 之外的每个 URL 的访问?
如何在 ASP.Net 中将除单个 URL 之外的所有 URL 重定向到 https?
Rails 5.0.0.beta1 - 从未过滤的请求参数生成 URL 是不安全的