0

在我的 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 = ...

我希望它显示我的错误页面,而不是这个错误。我该怎么做?

4

1 回答 1

1

不知道您的问题是为什么它不起作用,或者如何使用视图中的错误消息。

为什么你会收到错误

编辑:

我认为这是因为没有协议'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
于 2012-11-24T20:28:35.733 回答