如何在另一个控制器的方法中调用一个控制器的方法

How to call a method of a controller in a method of another controller

我想在另一个控制器的方法中调用一个控制器的方法,并传递如下参数:

控制器A:

@var
def methodA
  update(@var)
end

控制器 B:

def update(var)
  var1 = var
end

有什么办法吗?

为什么不在 ApplicationController 中定义共享方法,而是在两个控制器中调用它,因为它们各自继承了它的方法。像这样:

应用程序控制器:

class ApplicationController < ActionController::Base

  protected

  def update(var)
    var1 = var
  end
end

其他控制器:

class SomeController < ApplicationController    
  def some_method()
    @var = 'something'
    update(@var)
  end
end


class SomeOtherController < ApplicationController    
   def some_method()
     @var = 'something'
     update(@var)
   end
 end