我有一个继承自另一个类的类。超类的设置如下:
class Creator::BaseResource < Creator::Base
def request_attributes(action = :create)
"super"
end
end
子类:
class Creator::Resource::HypervisorGroup < Creator::BaseResource
def request_attributes(action = :create)
"sub"
end
end
现在,如果我有一个&#34; Creator :: BaseResource&#34;的实例,并且有一个名为&#34的DB列; resource_class&#34;其中包含&#34; Resource :: HypervisorGroup&#34;这让它知道它是一个子类,我希望能够说object.request_attributes并获得&#34; super&#34;在这个例子中返回。
显然,代码远比这复杂得多,但这是我想要实现的目标。可能吗?谢谢。
答案 0 :(得分:0)
那是怎么回事:
class Creator::Resource::HypervisorGroup < Creator::BaseResource
def request_attributes(action = :create, use_super=false)
super and return if use_super
"sub"
end
end
然后,您可以调用object.request_attributes(:create,true)来获取名为
的超类方法