2013-05-10 34 views
6

tôi đang làm:Có thể CanCan có thể: quản lý,: tất cả ngoại trừ một hoặc nhiều phương pháp?

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

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

phương pháp thứ hai của tôi không hoạt động vì: quản lý: tất cả các ghi đè lên nó. Có cách nào để khai báo có thể quản lý tất cả ngoại trừ chấp thuận không? và bên trong phê duyệt tôi chỉ cần làm

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

Giải pháp nào tốt hơn?

+0

Ruby en los Carriles: ') – Flauwekeul

Trả lời

14

Hãy thử làm theo cách khác vòng, xem xét cancan wiki. Hãy thử:

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

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

Tôi nên chú ý nhiều hơn vào wiki, cảm ơn rất nhiều câu trả lời! =) –

+0

bạn được chào đón, bạn có thể bỏ phiếu này và phê duyệt không? :) – Lucas

+0

tất nhiên !! tôi sẽ làm điều đó! –

Các vấn đề liên quan