小编Sak*_*ian的帖子

NameError:未初始化的常量Object :: User

我搜索了其他有这个问题的帖子,找不到解决我这个问题的帖子.我的爱尔兰很疯狂.我正在尝试更改数据库中的用户角色,但我甚至无法联系到我的用户!

irb(main):001:0> User.all
NameError: uninitialized constant Object::User
        from (irb):1
        from c:/Ruby192/bin/irb:12:in `<main>'
Run Code Online (Sandbox Code Playgroud)

它工作正常,停止工作,很好,现在再次停止.我有一个用户模型和用户添加.我无法确定这个问题.让我知道您需要查看哪些代码.谢谢!

ruby-on-rails constants irb nameerror

6
推荐指数
2
解决办法
7472
查看次数

限制管理员使用cancan销毁自己的帐户

以下是我的能力课程中的代码片段

if user.admin?
      can :manage, :all
      can :destroy, :all if != current_user
Run Code Online (Sandbox Code Playgroud)

我相信你可以弄清楚我在这里要做什么.我意识到破坏包含在管理中,我在那里重复自己.有什么建议?

编辑 Yjerem的答案是正确的,我只是改变它以适合我的代码.这就是它的样子.

 if user.admin?
      can :manage, :all
      cannot :destroy, User, :id => user.id
Run Code Online (Sandbox Code Playgroud)

正如Yjerem所说,在cancan中,能力优先级表明定义下限的能力优于其他人,因此管理员可以使用上面的代码管理除了在​​其下定义的所有内容.

ruby-on-rails restrict cancan

3
推荐指数
1
解决办法
803
查看次数

标签 统计

ruby-on-rails ×2

cancan ×1

constants ×1

irb ×1

nameerror ×1

restrict ×1