我用 ActiveAdmin 设置了 CanCan 和 Rolify,现在是时候在我的控制器上强制授权了。
我必须authorize_resource
在每个控制器上(我们现在有几十个模型和控制器),还是有办法将它应用于我所有的 ActiveAdmin 控制器?
我尝试在 ActiveAdmin.setup 的 before_filter 中调用它,但这不起作用。
我用 ActiveAdmin 设置了 CanCan 和 Rolify,现在是时候在我的控制器上强制授权了。
我必须authorize_resource
在每个控制器上(我们现在有几十个模型和控制器),还是有办法将它应用于我所有的 ActiveAdmin 控制器?
我尝试在 ActiveAdmin.setup 的 before_filter 中调用它,但这不起作用。
我做了一个初始化程序: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
从另一个用户的代码中借来的,但现在我再也找不到源代码了。