Access denied, Please sign in and make sure you have proper permission.
Topic has been selected as the excellent topic by the admin.
下午就拜读了,楼主很强啊,对了,一直不知道楼主是 GG 还是 mm
楼主能否再扩展的写一下 在用 cancan 之前的配置?
比如 roles 这些?
我是参照别的地方来添加 roles 的,然后套用你的代码,但是一直有问题,
现在是 user1 身份可以管理任何 action,但是其他身份的 user 没有权限,包括他自己先前发布的文章都不可以操作了。
我这里有一个 CANCAN 的问题,不知道谁能帮我解决一下。就是当我使用了 namespace 的时候
resources :products #1
namesapce :admin do #2
resources :products
end
如果我希望 namespace 下的 products 只可以让 admin 管理的话,如果直接对 Product 进行会同事对 namespace 和非 namespace 的 Prodcut 进行了操作。例如我希望#1 的可以让所有的人浏览只需要:
can :read, :all
同时#2 处的也会变成所有人都可以浏览。请问这个时候的 cancan 怎么设计比较好呢?
一直有关注你的 blog,质量非常的高。谢谢分享。
@JeskTop 不知道这样可不可以:
假设你的 user 有 is_admin?方法,在你的 ability.rb 里:
For Normal User
can :read, Product
For Admin User
if user.is_admin?
can :manage, Product
end
在你的 ProductController 里只要加上 load_and_authorize_resource
应该就可以实现你的要求了吧