到目前为止,大多数s earched questions都与“有什么不同”有关。我需要知道如何在不同的控制器之间重用它们。
以下只是一个例子。
的ApplicationController:
private
def redirect
redirect_to welcome_path
end
任何控制器:
class AnyController < ApplicationController
before_action :redirect, only: :about
def about
end
end
我现在有许多控制器使用相同的私有方法,并希望存储它的中心位置。你知道,保持它干嘛。将这些私有方法放置在从ApplicationController继承的任何控制器中重用的位置?如果这样的问题已经得到解答,请指出我。感谢。
答案 0 :(得分:1)
将这些私有方法放在何处以在任何控制器中重用 继承自ApplicationController?
如果您希望从ApplicationController
继承的类具有该方法,则只需将其放入ApplicationController
:
class ApplicationController < ActionController::Base
private
def redirect_to welcome_path
end
end
class AnyController < ApplicationController
# gets the redirect_to welcome_path method
end
这就是ApplicationController
存在的原因。
Re:模块,它不需要在模块中,除非你最终想把它混合到ApplicationController
之外的另一个类中。