一个基本的问题--我如何访问一个模块中的函数,然后是另一个模块,然后是一个类。
在宝石里-
module Handsoap
module Http
# Represents a HTTP Request.
class Request
attr_reader :url, :http_method, :headers, :body, :username, :password, :trust_ca_file, :client_cert_file, :client_cert_key_file
attr_writer :body, :http_method
def set_trust_ca_file(ca_file)
@trust_ca_file = ca_file
end
end
end
end在我的档案里,我试着这样-
Handsoap:Http::Request.set_trust_ca_file('/etc/ssl/certs/ca-certificates.crt')
:Http is not a class/module (TypeError)发布于 2012-05-25 05:31:57
你打错了。应该是
Handsoap::Http::Request此外,您的方法应该是类实例方法
def self.set_trust_ca_file(ca_file)
# ...
end发布于 2012-05-25 12:36:29
我相信检查的答案是不正确的。set_trust_ca_file()方法不是类方法。它是设置和实例变量,所以它是一个实例方法。
您需要在Request类的实例上调用set_trust_ca_file():
var = Handsoap::Http::Request.new
var.set_trust_ca_file(ca_file)您还可以完全消除该方法,因为attr_accessor语句将使实例变量@trust_ca_file可从类外部设置:
var = Handsoap::Http::Request.new
var.trust_ca_file = "new_value"https://stackoverflow.com/questions/10745582
复制相似问题