ruby-on-rails - 如何在 Ruby on Rails 中获取当前的绝对 URL?

标签 ruby-on-rails ruby url

如何在我的 Ruby on Rails View 中获取当前的绝对 URL?

request.request_uri 仅返回相对 URL。

最佳答案

对于 Rails 3.2 或 Rails 4+

您应该使用 request.original_url 获取当前 URL。找到当前 repo 的源代码 here .

此方法记录在 original_url method ,但如果你很好奇,实现是:

def original_url
  base_url + original_fullpath
end

对于 Rails 3:

您可以编写 "#{request.protocol}#{request.host_with_port}#{request.fullpath}",因为 request.url 现已弃用。


对于 Rails 2:

您可以编写 request.url 而不是 request.request_uri。这将协议(protocol)(通常是 http://)与主机和 request_uri 结合在一起,为您提供完整地址。

关于ruby-on-rails - 如何在 Ruby on Rails 中获取当前的绝对 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2165665/

相关文章:

ruby - "base.send :include, InstanceMethods"---> 这是做什么的?

ruby - 如何在单击之前修改 Ruby Mechanize::Page::Link 的 href

c# - 如何使用网络浏览器在链接列表中导航?

ruby-on-rails - 涉及 has_many & belongs_to 关联的元编程问题

ruby-on-rails - 有条件地将日期分隔符插入聊天消息数组

ruby-on-rails - 无需硬编码即可动态提取列名

java - 从给定的 Twitter url 页面获取用户 ID - Twitter4j

ruby-on-rails - 急切加载 Paperclip 的 has_attached_file 数据?

ruby-on-rails - 无法在任何来源中找到 json-1.8.3 (Bundler::GemNotFound)

macos - 如何说服 OS X 打开 txmt ://URLs in MacVim?