2016-11-10 59 views
1

我正在嘗試獲取我的頁面的當前網址以及與之相關的參數。當我手動將URL放入時,未定義的拆分方法錯誤不會發生。我曾嘗試以下:使用request.url時未定義的拆分方法

request.url

request.original_url

request.fullpath

將在

id = request.original_url 

,並添加此功能

def original_url 
    base_url + original_fullpath 
end 

目前爲我工作的內容在下面,但我不能每次都有相同的url和參數,所以此方法稍後將不起作用。

#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

有同樣的問題。在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 
相關問題