我有一个类,我在其中创建一个名为@client的新实例变量,它本身就是一个对象。现在,在另一个文件中,我从这个类创建了一个对象,但是无法访问@client对象的方法。我该怎么办?
示例:
class A_Helper
def initialize
@client = Module::Client.new('info')
p @client
# <Module::Client:0x000000017fd018>
end
end
---------------------------
class A_Controller
@A_Helper = A_Helper.new
p @A_Helper.client
# <class:A_Controller>: undefined method `client' for nil:NilClass
答案 0 :(得分:1)
您已声明了一个本地变量@client
,只能在您的班级内访问。如果您想从外部访问,则需要声明getter或快捷方式,例如attr_accessor
/ attr_reader
(请查看此post)。
class A_Helper
attr_reader :client
def initialize
@client = Module::Client.new('info')
end
end