【问题标题】:CanCan authorize all controllersCanCan 授权所有控制器
【发布时间】:2013-09-03 22:52:22
【问题描述】:

我已经使用 ActiveAdmin 设置了 CanCan 和 Rolify,现在是时候在我的控制器上强制授权了。

我必须在每个控制器上authorize_resource(我们现在有几十个模型和控制器),还是有办法将它应用到我所有的 ActiveAdmin 控制器上?

我尝试在 ActiveAdmin.setup 的 before_filter 中调用它,但没有奏效。

【问题讨论】:

    标签: ruby-on-rails activeadmin cancan


    【解决方案1】:

    我做了一个初始化器: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
    

    借用别人的代码,现在找不到源了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多