如何在Ruby on Rails视图中获得当前的绝对URL ?

请求。request_uri只返回相对URL。


当前回答

获取不带任何查询参数的请求URL。

def current_url_without_parameters
  request.base_url + request.path
end

其他回答

 url_for(params)

你可以很容易地添加一些新参数:

url_for(params.merge(:tag => "lol"))

如果你想要更具体,也就是说,你知道你需要的路径:

link_to current_path(@resource, :only_path => false), current_path(@resource)

如果您所说的相对是指没有域,那么请查看request.domain。

你可以使用ruby方法:

:root_url

它将获得包含base url的完整路径:

localhost:3000/bla

看起来在Ruby on Rails 3中request_uri已弃用。

Using #request_uri is deprecated. Use fullpath instead.