Active_admin works with cancan

这半年多一直在做rails相关的东西,后台也一直用的[url="https://github.com/gregbell/active_admin"]active_admin[/url],感觉还是很方便的,而且可定制性比rails_admin高,不过最近需要让active_admin和cancan好好地一起工作,找了些资料 ,终于实现了,发现还是比较简单的,我已经加到active_admin的wiki了

以网站权限设置编辑人员只能管理新闻,而且只能加和看,不能删
1.app/models/ability.rb

class Ability
include CanCan::Ability

def initialize(user)
user ||= AdminUser.new
case user.role
when "admin"
can :manage, :all
when "editor"
can :manage,Post
cannot [:destroy,:edit], Post
end
end
end


2.app/helpers/application_controller.rb

def current_ability
@current_ability ||= Ability.new(current_admin_user)
end


3.app/admin/admin_user.rb

# encoding: UTF-8
ActiveAdmin.register AdminUser do
menu :if => proc{can? :manage,AdminUser}
controller.authorize_resource
end


如果要对其它model设置权限 ,和admin_user.rb一样设置就可以了

转载注明:

[url="http://www.iteye.com"]iteye[/url]---[url="http://doabit.iteye.com"]doabit[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值