ユーザーhas_manyバッジからbadge_awardings
できます
@user.badges.count(:group => 'badges.id')
IDとカウントのハッシュをこのように返します
{1=>2, 2=>1, 5=>1, 8=>1}
ただし、バッジを表示するには、バッジを個別にもう一度見つける必要があります。
バッジとそのカウントのハッシュを返す方法はありますか?
ユーザーhas_manyバッジからbadge_awardings
できます
@user.badges.count(:group => 'badges.id')
IDとカウントのハッシュをこのように返します
{1=>2, 2=>1, 5=>1, 8=>1}
ただし、バッジを表示するには、バッジを個別にもう一度見つける必要があります。
バッジとそのカウントのハッシュを返す方法はありますか?
次のようなことを試すことができます:
@user.badges.count(:group => [:id, :some_column_name, :another_column_name])
これはあなたを得るでしょう:
{[1, 'something', 'other_thing']=>2, [2, 'a', 'b']=>1, ...}
別のステップでバッジを取得できます。
badge_count = @user.badges.count(:group => 'badges.id')
badges = Badge.find(badge_count.keys)
badges_counted = badges.inject({}){ |h, v| h.update(v => badge_count[v.id]) }