如何在另一个控制器的方法中调用一个控制器的方法
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
我想在另一个控制器的方法中调用一个控制器的方法,并传递如下参数:
控制器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