ruby-on-rails - 未定义的方法 `hostname' 为 "' http ://www. google.com/":String (NoMethodError)

标签 ruby-on-rails

我有以下代码来获取 google.com

class Geocoder
    def self.locate()

        uri="http://www.google.com/"



        puts Net::HTTP.get(uri)

end
但我遇到了错误:
undefined method `hostname' for "'http://www.google.com/":String (NoMethodError)
我已经看过 this ,我的 ruby 版本是:ruby 2.2.1

最佳答案

您缺少将字符串解析为 URI 的过程……它应该是这样的:

class Geocoder
  def self.locate(address)
    escaped_address = URI.escape(address) 
    uri = URI.parse(escaped_address)
    puts Net::HTTP.get(uri)
  end
end

关于ruby-on-rails - 未定义的方法 `hostname' 为 "' http ://www. google.com/":String (NoMethodError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33822571/

相关文章:

ruby-on-rails - 基本表单操作不适用于 heroku(但在本地有效)

ruby-on-rails - 对等方重置 Redis/SideKiq/Rails 连接 - SSL_connect

sql - 按值对进行 ActiveRecord 查询

ruby-on-rails - Rails 单选按钮没有始终如一地传递值

ruby-on-rails - 关于如何在 nancy 服务和服务器之间建立连接的建议

ruby-on-rails - 如何通过 Rails Controller 存储 Ruby 正则表达式?

ruby-on-rails - 何时使用 Redis

ruby-on-rails - Ruby-OpenID:需要来自 OpenID 提供商的电子邮件地址

javascript - 使用 jquery 但具有动态内容的可折叠描述

ruby-on-rails - 将数组转换为 ActiveRecord::Relation