2016-12-13 3 views
0

のためのリソースを取得します。実際のリソースにアクセスする方法はありますか?たとえば、この場合、Forum.first、またはユーザーに複数の:adminロールがあった場合は、リソースの配列が返されます。私のような定義された役割を持っていることを考えると、特定のRolifyの役割

+0

'Forum.find(user.first.roles.where(name::admin).map(&:resource_id))'のように私の問題を解決しましたが、おそらくもっと良い方法があります。質問を開いたままにしておきます – lmerry213

+0

指定されたモデル間の関連付けについて言及する必要があります。フォーラムがユーザーに属し、ユーザーが多数の役割を持つ場合。これは、 'user_id = User.first.id' ' Forum.joins(user::roles).where( 'users.id =?AND roles.name =?'、user_id、 'admin') ' –

+0

第二例は 'User.first.has_role?(:admin、Forum)'でなければなりません。 ':any'は、フォーラムだけでなく、リソースの管理者の役割を持っている場合にtrueを返します。 – max

答えて

0
Forum.with_role(:admin, current_user) 
# => [ list of Forum instances that have role "admin" bound to them and belong to current_user roles ] 

resource roles queryingを参照してください。

関連する問題