【发布时间】:2012-05-28 12:36:29
【问题描述】:
我已经使用下面的链接使用 active_admin 实现了 cancan。 https://github.com/gregbell/active_admin/wiki/How-to-work-with-cancan
就我而言,唯一的变化是在编写的代码下方。 app/models/ability.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= AdminUser.new # guest user (not logged in)
if user.id == 1
can :manage, :all
puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> manage all"
else
can :read, :all
puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> read all"
end
end
end
现在只需在 user.id 上设置条件。 所以当我运行我的应用程序时,我可以看到我的 put 正确登录。
问题:
- 所以如果我使用用户 whos user.id != 1 登录,那么我也可以在 active_admin 中管理我的所有模块。 cancan 能力对我不起作用。
(简而言之,我可以:代码在任何情况下都不起作用)
使用 rails 3.1.1、cancan 1.6.7、activeadmin 0.4.4、ruby 1.9.3
正确执行链接中的命令,仔细检查。
在 AdminUser 中使用了 authorize_resource。
使用社交而不是设计,这件事会影响康康舞吗?
【问题讨论】:
-
“Cancan 不能很好地与 cancan 配合使用”?
-
抱歉没找到你? @乔利特
-
您似乎在说 Cancan 不与自身互操作。我在怀疑这是否真的是你的意思,或者你是否打错了。
-
是的,cancan 有问题,它不起作用。 can后写的代码不起作用
标签: ruby-on-rails-3 cancan activeadmin