我已经使用下面的链接使用 active_admin 实现了 cancan。 https://github.com/gregbell/active_admin/wiki/How-to-work-with-cancan
就我而言,唯一的变化是在书面代码下方。应用程序/模型/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 中管理我的所有模块。康康能力对我不起作用。
(简而言之,我可以:代码在任何情况下都不起作用)
使用 rails 3.1.1、cancan 1.6.7、activeadmin 0.4.4、ruby 1.9.3
正确遵循链接中的命令,仔细检查。
在 AdminUser 中使用了 authorize_resource。
使用社交而不是设计,这件事会影响康康吗?