我已经使用ActiveAdmin设置了CanCan和Rolify,现在是时候强制我的控制器授权了。
我是否必须在每个控制器上authorize_resource
(我们现在有几十个模型和控制器),或者有没有办法将它应用到我的所有ActiveAdmin控制器?
我尝试在ActiveAdmin.setup的before_filter中调用它,但这不起作用。
答案 0 :(得分:0)
我制作了初始化程序:config / initializers / active_admin-cancan.rb
module ActiveAdmin
class ResourceController
# If you don't skip loading on #index you will get the exception:
#
# "Collection is not a paginated scope. Set collection.page(params[:page]).per(10) before calling :paginated_collection."
load_resource :except => :index
authorize_resource
def scoped_collection
end_of_association_chain.accessible_by(current_ability)
end
end
end
借用其他用户的代码,但现在我无法找到该来源了。