Ruby on rails 如何访问访问器';子类中的实例变量?
如何从子类访问attr\u访问器的实例变量Ruby on rails 如何访问访问器';子类中的实例变量?,ruby-on-rails,attr-accessor,Ruby On Rails,Attr Accessor,如何从子类访问attr\u访问器的实例变量 class A attr_accessor :somevar @somevar = 123 puts @somevar end class B < A def meth puts @somevar end end B.new.meth A类 属性存取器:somevar @somevar=123 放置@somevar 结束 B类
class A
attr_accessor :somevar
@somevar = 123
puts @somevar
end
class B < A
def meth
puts @somevar
end
end
B.new.meth
A类
属性存取器:somevar
@somevar=123
放置@somevar
结束
B类
将nil
另外,我可以使用ActiveSupport。您需要在initialize方法中设置实例变量——每当创建新的类实例时,都会调用该变量:
class A
attr_accessor :somevar
def initialize
@somevar = 123
end
end
首先,您没有要指定值的实例。将initialize方法置于A so上创建B实例时,可以将somevar值作为参数传递给新函数:
class A
attr_accessor :somevar
def initialize(somevar)
@somevar = somevar
end
end
class B < A
def meth
puts @somevar
end
end
B.new('LOL').meth
A类
属性存取器:somevar
def初始化(somevar)
@somevar=somevar
结束
结束
B类