【发布时间】:2011-01-11 01:28:19
【问题描述】:
如何在我的 Ruby on Rails 视图中获取当前的绝对 URL?
request.request_uri 只返回相对的URL。
【问题讨论】:
标签: ruby-on-rails ruby url
如何在我的 Ruby on Rails 视图中获取当前的绝对 URL?
request.request_uri 只返回相对的URL。
【问题讨论】:
标签: ruby-on-rails ruby url
Rails 4
控制器:
def absolute_url
request.base_url + request.original_fullpath
end
Action Mailer 4.2 release 的显着变化:
link_to 和 url_for 在模板中默认生成绝对 URL,不再需要传递 only_path: false。 (提交)
查看:
如果使用_url 后缀,则生成的 URL 是绝对的。使用 _path 获取相对 URL。
<%= link_to "Home", root_url %>
欲了解更多详情,请访问:
http://blog.grepruby.com/2015/04/absolute-url-full-url-in-rails-4.html
【讨论】:
对于 Rails 3.x 及更高版本:
#{request.protocol}#{request.host_with_port}#{request.fullpath}
对于 Rails 3.2 及更高版本:
request.original_url
因为在 rails 3.2 及更高版本中:
request.original_url = request.base_url + request.original_fullpath
欲了解更多信息,请访问http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url
【讨论】:
您可以通过调用获得绝对网址:
request.original_url
或
request.env['HTTP_REFERER']
【讨论】: