私のプロジェクトにはいくつかの検索フィルタがあります。ロールでユーザーを検索できます。 :admin
を検索すると、役割があるユーザ:[:admin]
が返されます。しかし、役割:[:admin, :mentor]
で検索結果にユーザーを追加しないでください。ロールモデルジェム:役割を持つすべてのユーザーを取得する方法:[:admin、:mentor]
役割の管理者を持つすべてのユーザーを見つけるSQLクエリの作成方法を知っている人は、これらのユーザーがまだ管理者である[:admin、:mentor]という役割を持つユーザーを含める必要があります。
20: custom_filter :role, lambda { |records, value|
=> 21: binding.pry
22: records.where(roles_mask: User.mask_for(value))
23: }
24:
25: class << self
26: def secure_find!(token:)
[email protected] (User)> records
=> User(id: integer, email: string, encrypted_password: string, reset_password_token: string, roles_mask: integer)
[email protected] (User)> value
=> "admin"
ありがとうございます!
うん、そんなことはできない。役割[:admin]を持つユーザーを確認する必要があります。あなたが持っているものは、 ':admin'と':mentor'の両方の役割を持つユーザーを返します – joeyk16