ruby-on-rails – 可以CanCan可以:管理,:除了一种或多种方法之外的所有方法?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 可以CanCan可以:管理,:除了一种或多种方法之外的所有方法?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在做:
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

猜你在找的Ruby相关文章