request.url 返回给我: http://localhost:3000/page?foo=bar.
有没有一种方法可以调用来获取 http://localhost:3000/page ,或者我是否必须解析字符串以剥离 get 参数?
request.path
应该返回您正在寻找的内容。否则你可以尝试:
url_for(:only_path => false, :overwrite_params=>nil)
获取不带任何查询参数的请求URL。
def current_url_without_parameters
request.base_url + request.path
end
我使用以下内容:
request.original_url.split('?').first
它不会重新生成路径,因此会为您提供最终用户在浏览器中看到的准确 URL,减去查询参数。
您可以使用
full_url_for
- 这会忽略 URL 中的任何查询参数。
例如。
example.com/foo?bar=1234
变成 example.com/foo
https://apidock.com/rails/ActionDispatch/Http/URL/full_url_for/class