在Rails中,如何在执行任何控制器上的操作之前强制执行特定方法?
例如,我希望始终调用一个名为can?('xxx')
的方法来进行授权检查。如果有人创建了一个新的控制器方法并忘记调用它,我想提出异常。
答案 0 :(得分:0)
您应该使用之前的过滤器:
class ApplicationController < ActionController::Base
before_action :require_login
private
def require_login
can?('xxx')
end
end
文档:http://guides.rubyonrails.org/action_controller_overview.html#filters