2012-11-24 101 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.