ID、名前、姓、role_id、permission_id を持つモデル User があります
ユーザー エントリは次のとおりです。
User => {:name => 'Bob', :surname => 'surnmae', :role_id => 1, :permission_id = 2}
User => {:name => 'Alice', :surname => 'strange', :role_id => 1, :permission_id = 3}
User => {:name => 'Ted', :surname => 'Teddy', :role_id => 2, :permission_id = 3}
role_id
ここで、最初に でグループ化し、次に でグループ化する必要がありますpermission_id
。つまり、次のようになります。
Category.select([:name, :role_id, :permission_id]).group_by(&:role_id)
プロデュース:
{1 =>
[#<User name: "Bob", role_id: 1, permission_id: 2>,
#<User name: "Alice", role_id: 1, permission_id: 3>]
2 => [#<User name: "Ted", role_id: 2, permission_id: 3>]
}
これは十分に近いですが、permission_id でグループ化する必要があるため、次のようになります。
{:role_id => {:permision_id => [Array of users grouped by this criteria]}
}