Ruby on rails 在rails中扩展一种方法

Ruby on rails 在rails中扩展一种方法,ruby-on-rails,ruby,methods,extend,Ruby On Rails,Ruby,Methods,Extend,在我创建的应用程序中,我使用gem。这个gem有一个模块,其中包含一个方法,当某些内容发生变化时,gem会调用该方法。我需要做的是扩展这个方法的功能。我无法更改此方法的名称,也无法调用其他方法 我说的是这里定义的重建方法: 如何在不接触源代码的情况下向此方法添加功能 您需要在控制器中包含具有要重写的函数名的模块,然后您可以使用相同的名称编写函数,并在完成工作后调用super class A include TheSortableTreeController::Rebuild def r

在我创建的应用程序中,我使用gem。这个gem有一个模块,其中包含一个方法,当某些内容发生变化时,gem会调用该方法。我需要做的是扩展这个方法的功能。我无法更改此方法的名称,也无法调用其他方法

我说的是这里定义的重建方法:


如何在不接触源代码的情况下向此方法添加功能

您需要在控制器中包含具有要重写的函数名的模块,然后您可以使用相同的名称编写函数,并在完成工作后调用super

class A
  include TheSortableTreeController::Rebuild
  def rebuild
     # do something here
     super
  end

通过这种方式,您将能够执行您的操作以及创业板的操作。如果要完全删除对重建函数的依赖,请从代码中删除super。

您需要在控制器中包含具有要重写的函数名的模块,然后您可以使用相同的名称编写函数,并在完成工作后调用super

class A
  include TheSortableTreeController::Rebuild
  def rebuild
     # do something here
     super
  end

通过这种方式,您将能够执行您的操作以及创业板的操作。如果您想完全删除对重建函数的依赖,请从代码中删除super。

使用此函数时是否需要更改调用方法的方式?@Tim您不需要像以前那样更改任何可以调用方法的内容。太好了,我将尝试一下!谢谢使用此方法时,我需要更改调用方法的方式吗?@Tim您不需要像以前那样更改任何可以调用方法的内容。太好了,我将尝试一下!谢谢