cancan - “可以:管理所有”。我无法使用 devise 访问 Rails 3 应用程序中的所有内容
我在应用程序控制器中使用“检查授权”,因此每个操作都需要权限。我首先授予我超级管理员 :=] 管理所有内容的权限。我认为管理所有可以让我访问整个应用程序而无需命名资源。
用户模型:
def role?(role)
roles.include? role.to_s
end
应用程序控制器:
check_authorization
cancan 的能力模型:
def initialize(user)
if user.role? :superadmin
can :manage, :all
end
end
错误消息:
This action failed the check_authorization because it does not authorize_resource. Add skip_authorization_check to bypass this check.
谢谢。
I am using "check authorization" in the application controller so every action will require a permission. I'm starting with giving me, the superadmin :=], permissions to manage all. I thought manage all would give me access to the whole app without naming a resource.
user model:
def role?(role)
roles.include? role.to_s
end
application controller:
check_authorization
cancan's ability model:
def initialize(user)
if user.role? :superadmin
can :manage, :all
end
end
error message:
This action failed the check_authorization because it does not authorize_resource. Add skip_authorization_check to bypass this check.
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知,您需要在控制器中调用
authorize_resource
作为 before 过滤器,这样才能正常工作。As far as I am aware, you're going to need to call
authorize_resource
in your controller as a before filter so that this works.