0

ユーザーhas_manyバッジからbadge_awardings

できます

@user.badges.count(:group => 'badges.id')

IDとカウントのハッシュをこのように返します

{1=>2, 2=>1, 5=>1, 8=>1}

ただし、バッジを表示するには、バッジを個別にもう一度見つける必要があります。

バッジとそのカウントのハッシュを返す方法はありますか?

4

2 に答える 2

0

次のようなことを試すことができます:

@user.badges.count(:group => [:id, :some_column_name, :another_column_name])

これはあなたを得るでしょう:

{[1, 'something', 'other_thing']=>2, [2, 'a', 'b']=>1, ...}
于 2012-10-11T14:34:56.537 に答える
0

別のステップでバッジを取得できます。

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]) }
于 2012-10-11T14:32:34.123 に答える