我需要重定向到某些第三方网站。问题是,使用redirect_to url
,某些网址会重定向,而某些网址无法正常工作使用此网址,我只需:redirect_to url
使用时:redirect_to url
我得到ERROR URI::InvalidURIError: bad URI(is not URI?)
所以,我试着做:
redirect_to URI.encode(url)
......它有效!但是,示例1中的URL不再起作用。说找不到网站。但是Rails没有错误。
所以,我需要一种适用于所有(所有?)URI的方法。有什么想法吗?
使用Ruby 1.9.3和Rails 3.2.5
答案 0 :(得分:0)
解决这个问题:
uri = URI.parse(the_url)
redirect_to uri.to_s
rescue URI::InvalidURIError => encoding
redirect_to URI.encode(the_url)
目前为我的应用程序工作。