2016-03-31 5 views
1

私はデモレストランアプリの能力を定義するためにcancancanを使用しています。各レストランhas_many従業員と各従業員はuser_idロール属性を持っています。このレストランには、user_idがcurrent_user.idであり、彼の役割が「マネージャー」である従業員がいる場合に限り、レストランを編集できるようにしたいと考えています。私の問題は、この役割は、従業員の多くに与えることができることであると私はRails、cancancanの能力

can :edit, Restaurant do |restaurant| 
    restaurant.employees.where(role: 'Manager').id=user.id 
end 

でそれらを見つけるとき、私はすべてのマネージャの配列になるだろうし、このコードはtrueを返しません。どのようにこれを実装するための任意のアイデア:?ありがとう!

答えて

2

あなたは、おそらくより多くのこのような何かを探している:あなたは岩

can :edit, Restaurant do |restaurant| 
    restaurant.employees.where(role: 'Manager', user_id: user.id).exists? 
end 
+0

!ありがとう –