在 Rails 中获取 HTTP 响应



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

相关内容

  • 没有找到相关文章

最新更新