15

rolify を使用しているときに、特定のロールを持つすべてのユーザーを取得するにはどうすればよいですか? 次のことを試しましたが、役に立ちませんでした。

User.with_role :admin

次のエラーが表示されます。

NoMethodError: undefined method `with_role' for #<Class:0x0000000743f9c0>

これを行う方法が見つかりませんでした。

4

5 に答える 5

31

バージョン 3.1.0 でロールを持つすべてのユーザーを検索するには、User クラスで with_role メソッドを使用できます。

User.with_role :admin
于 2012-12-12T06:16:57.417 に答える
9

ユーザーの役割を尋ねます

admins = Role.find_by_name('admin').users

with_role メソッドは特定のユーザー インスタンス用であり、すべてのユーザーのクラス レベルではありません。それを実装したい場合は、次のようにする必要があります。

#not 100% on this code, haven't tested it, but you get the idea.
User < ActiveRecord::Base
  def self.with_role(role)
     my_role = Role.find_by_name(role)
     where(:role => my_role)
  end
end
于 2012-07-05T17:31:00.097 に答える
1

ロールを配置するために、モデルで resourcify について言及しましたか

class User < ActiveRecord::Base
  resourcify
end

これにより、 with_role および find_roles クラス メソッドを使用できます。

于 2012-07-05T17:34:44.217 に答える