2013-05-10 18 views
6

robię:Czy CanCan może: zarządzać,: wszystkie oprócz jednej lub więcej metod?

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

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

Moja druga metoda nie działa, ponieważ: zarządzanie: wszystko nadpisać go. Czy sposób deklarowania może zarządzać wszystkimi z wyjątkiem zatwierdzania? i wewnątrz zatwierdzam, po prostu robię

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

Jakie jest lepsze rozwiązanie?

+0

Ruby en los Carriles: ') – Flauwekeul

Odpowiedz

14

Spróbuj zrobić to w inny sposób, spójrz na cancan wiki. Spróbuj:

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

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

powinienem zwrócić większą uwagę na wiki, dziękuję za odpowiedź! =) –

+0

jesteś mile widziany, mógłbyś to zagłosować i zatwierdzić? :) – Lucas

+0

oczywiście !! Zrobiłbym to już! –