`request`的未定义局部变量

时间:2014-04-17 23:08:01

标签: ruby-on-rails

在我的rails项目中,我正在尝试使用下面的代码,但我遇到了一个问题,我收到以下错误。 undefined local variable or method 'req'。我不确定我在这里缺少什么。

require 'net/http'
...
def url_exist?
  url = URI.parse(self.website)
  req.use_ssl = (url.scheme == 'https')
  req = Net::HTTP.new(url.host, url.port)
  path = url.path if url.path.present?
  req.request_head(path || '/')
  res.code != "404" # false if returns 404 - not found
rescue Errno::ENOENT
  false # false if can't find the server
end

1 个答案:

答案 0 :(得分:2)

切换url_exist?功能中第二行和第三行的顺序。在对它做任何事情之前,你需要声明一个变量。

require 'net/http'
...
def url_exist?
  url = URI.parse(self.website)
  req = Net::HTTP.new(url.host, url.port)
  req.use_ssl = (url.scheme == 'https')
  # ...
end

此外,您的功能在每次结束时仍然返回false。 Like before