2011-01-17 8 views
0

私は多くのクーポンを持つUserモデルを持っています。各クーポンには値があります。Railsデータをグループ化してjsonとしてレンダリングする

各ユーザーのすべてのクーポンの合計額など、すべてのユーザークーポンに関するデータを取得したいと考えています。また、データを1日ごとにグループ化したいと考えています。

どうすればいいですか?

答えて

1

アソシエーションで使用できるsumというメソッドがあります。例:

@user.coupons.all.sum(&:value) 

この場合、値は合計したい属性です。

、グループにこれらの日付によって、おそらくこのような何か:

#group_by will create a hash with the dates as keys and place the coupons in arrays 
@coupons = @user.coupons.all.group_by{ |coupon| coupon.created_at.strftime("%D") } 

#Loop through all keys (dates) and get the sum of the coupons 
@coupons.keys.each |date| 
    puts "Date: #{date}, Value: #{@coupons[date].sum(&:value)}" 
end 
関連する問題