2012-11-24 102 views
0

我解析使用URI.parse Rails中控制器的URL,即顯示URL錯誤

URI.parse(user_URL) 

當用戶輸入一些諸如%,網頁引發錯誤

bad URI(is not URI?): % 

和顯示錯誤頁面。

相反,我想讓它進入我的頁面,其中顯示「您的網址%無效」。可能嗎?

回答

2

只是包裝的parse中的呼叫begin/end塊與rescue對其中的URL是無效的情況下:

begin 
    URI.parse(user_URL) 
    ... do some stuff ... 
rescue URI::InvalidURIError 
    redirect_to :invalid_url_page, :url => user_URL 
end 

然後在您的invalid_url_page控制器動作(或任何你調用動作),就可以通過params[:url]訪問無效的網址。在與該操作相關聯的視圖中,您可以顯示消息「您的網址%無效」:

Your URL <%= params[:url] %> is not valid.