我正在做:
can :manage,:all if user.role == 'admin' can :approve,Anuncio do |anuncio| anuncio.try(:aprovado) == false end
我的第二种方法不起作用,因为:manage:all覆盖它.
除了批准之外,还有一种申报方式可以管理吗?而内部批准我就是这样做的
can :approve,Anuncio do |anuncio| user.role == 'admin' && anuncio.try(:aprovado) == false end
什么是更好的解决方案?
解决方法
尝试另一种方式,看看
cancan wiki.尝试:
can :manage,:all if user.role == 'admin' cannot :approve,Anuncio do |anuncio| anuncio.try(:aprovado) end