ruby-on-rails - #<Net::HTTP 127.0.0.1:8080 open=false> 的未定义方法 `use_ssl'

标签 ruby-on-rails ruby ssl fedora

我正在使用 ruby​​-fedora gem 从我的数据库中获取信息

Fedora::Repository.instance.fetch_content

我确信我的代码可以正常工作,因为在我更新到 Ruby 2.1.1 之前没有出现任何问题。当我执行获取数据的代码时,来自 gem 本身的代码 (bundle/ruby/2.1.0/gems/ruby-fedora-1.0.5/lib/fedora/connection.rb) 产生以下错误:

undefined method `use_ssl' for #<Net::HTTP 127.0.0.1:8080 open=false>
    bundle/ruby/2.1.0/gems/ruby-fedora-1.0.5/lib/fedora/connection.rb:191:in `http'
    bundle/ruby/2.1.0/gems/ruby-fedora-1.0.5/lib/fedora/connection.rb:152:in `request'

有人遇到过这样的事情吗?会不会是因为 gem 不兼容?

编辑:我编辑了 gem 代码,出现问题的行是:

# Creates new Net::HTTP instance for communication with
# remote service and resources.
def http
  http             = Net::HTTP.new(@site.host, @site.port)
  http.use_ssl     = @site.is_a?(URI::HTTPS)
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE if http.use_ssl <--- THIS LINE
  http
end

当我将函数替换为以下函数时,一切正常(因为我不使用 HTTPS)

# Creates new Net::HTTP instance for communication with
# remote service and resources.
def http
  http             = Net::HTTP.new(@site.host, @site.port)
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE if @site.is_a?(URI::HTTPS)
  http
end

最佳答案

看起来问题是 ruby​​-fedora 不再积极维护,it seems最后一个版本是在 2009 年发布的。现在我确定你的修复会奏效,但如果你需要额外的帮助,你将需要自己破解所有内容。他们甚至似乎都没有 github 页面了!!

ActiveFedora似乎是一个积极维护的项目,应该适合您的需要。 Here it is on ruby-gems ,最后一次发布是在 7 天前(IMO 在 5 年前击败了!!)。

关于ruby-on-rails - #<Net::HTTP 127.0.0.1:8080 open=false> 的未定义方法 `use_ssl',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22934800/

相关文章:

ruby-on-rails - Ruby on Rails - f.label 上的 Completed 500 内部错误

ruby-on-rails - 使用 Ruby 标准 Logger 每天只创建一个日志

WCF 无法为具有权限的 SSL/TLS 安全通道建立信任关系

ruby-on-rails - 如何使用 axlsx gem 将 Excel 单元格格式化为货币 - Ruby on Rails

ruby-on-rails - 错误: function postgis_lib_version() does not exist when matching a postgis custom schema

javascript - 如何在 Rails/HTML 中打印页面?

tomcat - SEVERE : Failed to load keystore type JKS with path webapps/FT. keystore 由于签名溢出,TomCat 6 启动时字节数 = 128

javascript - IE8在SSL页面上加载js

ruby-on-rails - 什么是 SASS 等价于 *= require_self 和 *= require_tree .?

ruby-on-rails - Rails 生成一个与 Application 继承不同的 Controller