【发布时间】:2011-06-24 06:37:13
【问题描述】:
request.url 回复我这个:http://localhost:3000/page?foo=bar.
有没有我可以调用的方法来获取 http://localhost:3000/page ,或者我必须解析字符串以去除获取参数?
【问题讨论】:
标签: ruby-on-rails url
request.url 回复我这个:http://localhost:3000/page?foo=bar.
有没有我可以调用的方法来获取 http://localhost:3000/page ,或者我必须解析字符串以去除获取参数?
【问题讨论】:
标签: ruby-on-rails url
request.path 如果您不关心主机名,应该返回您要查找的内容。否则你可以试试:
url_for(:only_path => false, :overwrite_params=>nil)
【讨论】:
/controller/action?param=1?param=2?param=3,但 request.path 对我来说效果很好。
URI 模块解析当前 URL,删除查询,然后重新发出作为替代。
获取不带任何查询参数的请求URL。
def current_url_without_parameters
request.base_url + request.path
end
【讨论】:
我使用以下:
request.original_url.split('?').first
它不会重新生成路径,因此会为您提供最终用户在浏览器中看到的准确网址,减去查询参数。
【讨论】:
request.url.split('?').first 也为我工作。
request.url 已被弃用,但我不确定。
request.referrer 一起使用。