2013-05-10 3 views
6

:管理:CanCan can:can、can:1つ以上のメソッドを除くすべてを管理しますか?私がやっている

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

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

をので、私の第二の方法では動作しませんそれをすべて上書きします。 宣言する方法は、承認を除くすべてを管理できますか?そして内部の私はちょうど

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

より良い解決策は何を?やる承認

+0

ルビーエンロスCarrilesを: ') – Flauwekeul

答えて

14

別の方法で試してみてください。cancan wikiをご覧ください。試してみてください:

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

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

私は、ウィキに答えてくれてありがとうたくさんのより多くの注意を払う必要があります! =) –

+0

あなたは大歓迎です、あなたはこれを投票して承認できますか? :) – Lucas

+0

もちろん!私はすでにそれをやるだろう! –

関連する問題