如何在ruby对象的派生类中调用方法?
例如,在Rails中,可以有一个继承自ApplicationController
的控制器,或者说Devise::RegistrationsController
。所以,假设我希望用户覆盖其控制器中的某个方法,并从基类调用该覆盖:这样做的最佳语法是什么?
答案 0 :(得分:2)
您无需做任何事情,方法查找始终从最派生的类开始。毕竟,这就是整个重载点。
class A
def foo
bar
end
def bar
:A
end
end
class B < A
def bar
:B
end
end
B.new.foo
# => :B
答案 1 :(得分:0)
您是否尝试使用一种方法,例如UserController来代替Devise RegistrationsController?让我知道您要使用代码示例专门完成的任务。 :)
答案 2 :(得分:-1)
我要问的是,在其他语言中是否有类似虚拟继承的东西?
不,Ruby没有这个。