Существует метод с именем 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