我正在尝试获取我的网页的当前网址以及随之而来的参数。当我手动输入url时,不会发生未定义的拆分方法错误。我尝试过以下方法:
request.url
request.original_url
request.fullpath
添加
id = request.original_url
并添加此功能
def original_url
base_url + original_fullpath
end
目前对我有用的是以下内容,但我每次都不能使用相同的网址和参数,因此这种方法以后不会再使用。
#parse current url
#what I would like below in comment
#id = request.original_url
url = "http://127.0.0.1:3000/reviews/new?id=2"
uri = URI.parse(url)
params = CGI.parse(uri.query)
id = params['id'].first
如果我遗失了某些内容,我们将不胜感激。
答案 0 :(得分:0)
有同样的问题。 url中缺少查询参数导致了它。
url = "http://127.0.0.1:3000/reviews/new" # no query params
uri = URI.parse(url)
query = uri.query # nil
params = CGI.parse(query) # Undefined split Exception
这解决了它:
uri = URI.parse(url)
if uri.query
params = CGI.parse(uri.query)
id = params['id'].first
end