在我的 Rails 控制器中,我有用户输入的url
:
url_parsed = URI.parse(url)
response = Net::HTTP.get_response(url_parsed)
如果用户输入www.google.com
,则给出
undefined method `request_uri' for #<URI::Generic:0x00000002e07908 URL:www.google.com>
在线response = ...
.
我希望它显示我的错误页面,而不是此错误。我该怎么做?
不知道您的问题是否是为什么它不起作用,或者如何使用视图中的错误消息。
为什么会出现错误
编辑:
我认为这是因为'www.google.com'
中没有协议,'http://www.google.com'
应该可以工作
如何显示错误
挽救错误:
error = nil
begin
url_parsed = URI.parse(url)
response = Net::HTTP.get_response(url_parsed)
rescue => error
end
if error
@error_message = "Your URL wasn't good enough"
# or you can use error.message if you want
# then use @error_message in your view
else
# do stuff when ok
end