Ruby on Rails 如何获取当前 URL?

Posted

技术标签:

【中文标题】Ruby on Rails 如何获取当前 URL?【英文标题】:Ruby on Rails how to get current URL? 【发布时间】:2014-02-21 04:49:38 【问题描述】:

我正在尝试使用request.hostrequest.url 在 rails 中获取当前网址,但我有一个位于 2 个域中的网站,所以:

当我在 www.example1.com 时,request.host 或 .url 显示 www.example1.com

当我在 www.example2.com request.host 或 .url 显示 example1.com 因为 example2 正在从 example1 获取所有内容并显示在 example2(已解析)

因为 request.host 得到了真正的主机,而 request.url 也得到了主机 我真的需要在浏览器中获取网址而不是主机,有人可以帮忙吗?

OB:我正在使用 rails 4 和 ruby​​ 2 OBs2:request.domain 不起作用,这仅返回“.com”的 url

【问题讨论】:

你试过request.original_url吗? @Lain 感谢您在很多问题中将“i”大写的努力,但请尝试大量修改。很多时候,其他事情也需要修复。 How do I get the current absolute URL in Ruby on Rails?的可能重复 blog.grepruby.com/2015/04/absolute-url-full-url-in-rails-4.html 【参考方案1】:

对于 Rails 4,您应该使用 request.original_url 来获取当前 URL。更多detail.

【讨论】:

【参考方案2】:
request.original_url 

将在 Rails 4 中为您提供当前网址。

您可以访问此资源以获取更多信息@How do I get the current absolute URL in Ruby on Rails?

【讨论】:

这个方法对我不起作用,我认为这需要跨域 放置您的请求对象并查看哪个对象属性提供 example2.com 作为值,您可能会对解决方案有所了解。

以上是关于Ruby on Rails 如何获取当前 URL?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails 5 Action Cable:当前模型实例的流(基于 URL 的订阅)

ruby on rails(基础)

使用Ruby On Rails生成URL(url_for)

如何在 Ruby on Rails 应用程序中处理 RESTful URL 参数?

如何使用 Ruby on Rails 5 将数据从 URL 提取到表单中

如何在 ruby​​ on rails 中发布数据