Я хочу вызвать метод одного контроллера в методе другого контроллера, а также передать параметры, как показано ниже:
Контроллер A:
@var def methodA update(@var) end
Контроллер B:
def update(var) var1 = var end
Есть ли способ сделать это?
Почему бы не определить общий метод вместо ApplicationController и вызвать его на обоих контроллерах, поскольку каждый из них наследует его методы. Вот так:
ApplicationController
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