Как вызвать метод контроллера в методе другого контроллера - PullRequest
0 голосов
/ 05 ноября 2018

Я хочу вызвать метод одного контроллера в методе другого контроллера, а также передать параметры, как показано ниже:

Контроллер A:

@var
def methodA
  update(@var)
end

Контроллер B:

def update(var)
  var1 = var
end

Есть ли способ сделать это?

1 Ответ

0 голосов
/ 05 ноября 2018

Почему бы не определить общий метод вместо 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
...