繁体   English   中英

CanCan-如何设置无模式控制器?

[英]CanCan - How to setup a modeless Controller?

我有一个用户模型,带有admin布尔字段。 然后,我有一个我想可以打开的管理控制器。

由于没有管理模型,如何将CanCan添加到管理控制器?

我试过了:

class AdminController < ApplicationController
  load_and_authorize_resource :user
  load_and_authorize_resource :admin, :through => :user


class Ability
   include CanCan::Ability
   def initialize
         ....
         can :manage, Admin if current_user.admin == TRUE
         ....

但是,该错误与“访问被拒绝为零”

有想法吗? 谢谢

您确定您可以访问能力类中的“ current_user”方法吗? 我想你不会。

我记得使用CanCan时可以在Ability类中使用:

def initialize(user)
    user ||= User.new #guest user.
...
end

我希望该用户将是当前用户。 我想应该可以。

您也可以查看以下页面:CanCan Wiki的https://github.com/ryanb/cancan/wiki/Non-RESTful-Controllers 这不是完全相同的问题,但是由于它涵盖了特殊情况(非RESTful控制器),因此可能会给您一些有关如何做您想做的事情的提示。

干杯

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM