collection sum

Hello,

I posted this incorrectly on the ruby forum (forgot that it involves ActiveRecord, so it's rails).

I wonder how you step down through an association to do a sum. If I have the following associations

user has_many carts cart has_many cart_items cart_item has_one item

I'd like to do a sum of the unit price of all items in the cart and tried the following

current_user.carts.first.cart_items.items.sum(:unit_price) current_user.carts.first.cart_items.sum(:item.unit_price)

Neither worked.

TIA

GP

Grayson,

Try adding one more association to your cart -- has_many :items, :through=>:cart_items

With that you can pick your cart (cart = user.carts.first) and then ...

cart.items.sum(:unit_price)

HTH, AndyV

Andy,

That solved the problem. Thanks!

GP

AndyV wrote: