在我创建的应用程序中,我使用了一个gem。这个gem有一个Module,它有一个方法,当一些东西发生变化时由gem调用。我需要做的是扩展此方法的功能。我无法更改此方法的名称,而是无法调用其他方法。
我说的是这里定义的重建方法:
如何在不触及源的情况下为此方法添加功能?
答案 0 :(得分:2)
您需要在控制器中包含要覆盖的功能名称的模块,然后您可以编写具有相同名称的功能,并在完成工作后调用super。
class A
include TheSortableTreeController::Rebuild
def rebuild
# do something here
super
end
通过这种方式,您也可以执行自己的操作以及宝石的操作。如果要完全删除对重建功能的依赖,请从代码中删除super。