我在做:
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-on-rails - 有可能 CanCan can :manage, :all except one or more method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16487465/