首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用rails_admin管理CanCan模型

无法使用rails_admin管理CanCan模型
EN

Stack Overflow用户
提问于 2014-04-27 14:40:15
回答 4查看 1.2K关注 0票数 3

我有一个用户模型和一个管理模型。我使用CanCan并为两者进行设计。我使用rails_admin,但是当我想从rails_admin中列出或编辑用户时,我遇到了一个神秘的错误。

代码语言:javascript
复制
Processing by RailsAdmin::MainController#index as HTML
Parameters: {"model_name"=>"user"}
Admin Load (0.4ms)  SELECT `admins`.* FROM `admins` WHERE `admins`.`id` = 1 ORDER BY `admins`.`id` ASC LIMIT 1
Completed 500 Internal Server Error in 9ms

NameError (uninitialized constant User::Permission):

我认为用户::权限来自CanCan,但我不确定。

当我试图编辑属于一个用户的许多其他模型时,我得到了几乎相同的错误。但是错误改变了:

代码语言:javascript
复制
ActionView::Template::Error (uninitialized constant User::Permission):

我的能力模型

代码语言:javascript
复制
class Ability
    include CanCan::Ability

    def initialize(resource)

        # Define guest user role
        if !resource
            resource = User.new
            resource.role = "guest"
        end

        # Authorizations for admins
        if resource.class == Admin 
            can :dashboard
            can :access, :rails_admin
            can :manage, User # I delete all models for the topic
            can :manage, Piggybak.config.manage_classes.map(&:constantize)
            Piggybak.config.extra_abilities.each do |extra_ability|
                can extra_ability[:abilities], extra_ability[:class_name].constantize
            end
        end

        # Authorizations for users
        if resource.class == User
            case resource.role
                # Guest
                when "guest"
                    can :create, User
                # Freemium
                when "member"
                    can :manage, User

            end
        end
    end
end
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-03 18:49:28

我重新安装了我所有的宝石: rails_admin,CanCan和Devise。起作用了!非常奇怪的错误。

票数 2
EN

Stack Overflow用户

发布于 2014-04-30 21:17:03

我建议您将CanCan更新为CanCanCan。这是一种保存得更好的坎坎人。

票数 1
EN

Stack Overflow用户

发布于 2014-05-05 21:33:01

添加CanCan后,您可能忘记运行bundle安装

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23324741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档