2013-05-10 31 views
6

我做:可能CanCan可以:管理,:除一個或多個方法以外的所有方法?

can :manage, :all if user.role == 'admin' 

can :approve, Anuncio do |anuncio| 
    anuncio.try(:aprovado) == false 
end 

我的第二個方法不起作用,因爲:管理:所有覆蓋它。 Theres申報的一種方式可以管理所有除了批准嗎?並在內部批准我只是做

can :approve, Anuncio do |anuncio| 
    user.role == 'admin' && anuncio.try(:aprovado) == false 
end 

什麼是更好的解決方案?

+0

紅寶石EN洛杉磯卡里萊斯:') – Flauwekeul 2014-09-17 11:49:45

回答

14

請嘗試另一種方式,看看cancan wiki。嘗試:

can :manage, :all if user.role == 'admin' 

cannot :approve, Anuncio do |anuncio| 
    anuncio.try(:aprovado) 
end 
+0

我應該多關注到維基,感謝了很多的答案! =) – 2013-05-10 19:03:25

+0

不客氣,你可以投票贊成嗎? :)當然是 – Lucas 2013-05-10 19:15:57

+0

!!我會做到這一點! – 2013-05-10 22:46:07

相關問題