# Agile Del with Rails sum problem

**URL:** <https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364>\
**Category:** Rails\
**Created:** [October 4, 2007, 9:22pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364 "2007-10-04T21:22:33Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![woodzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f08c70/32.png) [@woodzer](https://www.ruby-forum.com/u/woodzer)\
**Post date:** [October 4, 2007, 9:22pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364/1 "2007-10-04T21:22:33Z")

</div>

Another Rails newbie here 🙂 stuck on a section of Agile Web D.  
with Rails. The book says:

def total\_price  
@items.sum { |item| item.price }  
end

However this code throws this error.

undefined method `sum’ for #Array:0x2afcd71feb78

Extracted source (around line #13):

10:  
11:

  
12: Total  
13: \<%= number\_to\_currency(@cart.total\_price)  
%\>  
14:   
15:  
16: 

A friend gave me an alternative which does work.

def total\_price  
@items.inject(0) { |sum,x| sum += x.price }  
end

I’d really like to know though why the books code does not work.

---

<div class="post-metadata">

**Author:** ![woodzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f08c70/32.png) [@woodzer](https://www.ruby-forum.com/u/woodzer)\
**Post date:** [October 4, 2007, 9:41pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364/2 "2007-10-04T21:41:08Z")

</div>

On 10/4/07, Peter H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> undefined method `sum’ for #Array:0x2afcd71feb78  
> 16:
> 
> A friend gave me an alternative which does work.
> 
> def total\_price  
> @items.inject(0) { |sum,x| sum += x.price }  
> end
> 
> I’d really like to know though why the books code does not work.

Not sure. Enumerable#sum is not part of standard Ruby, it’s an  
ActiveSupport extension, but you should have it if you are running  
rails.

–  
Rick DeNatale

My blog on Ruby  
[http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

---

<div class="post-metadata">

**Author:** ![woodzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f08c70/32.png) [@woodzer](https://www.ruby-forum.com/u/woodzer)\
**Post date:** [October 4, 2007, 10:57pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364/3 "2007-10-04T22:57:46Z")

</div>

On 4 Oct 2007, at 20:40, Rick DeNatale wrote:

> On 10/4/07, Peter H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > I’d really like to know though why the books code does not work.
> 
> Not sure. Enumerable#sum is not part of standard Ruby, it’s an  
> ActiveSupport extension, but you should have it if you are running  
> rails.

It’s an activesupport extension, which was introduced with rails 1.2.  
If you’re not using rails 1.2, then you’ve got your explanation

Fred

---

<div class="post-metadata">

**Author:** ![woodzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f08c70/32.png) [@woodzer](https://www.ruby-forum.com/u/woodzer)\
**Post date:** [October 4, 2007, 11:00pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364/4 "2007-10-04T23:00:42Z")

</div>

On 10/4/07, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > ActiveSupport extension, but you should have it if you are running  
> > rails.
> 
> It’s an activesupport extension, which was introduced with rails 1.2.  
> If you’re not using rails 1.2, then you’ve got your explanation

Well I am, maybe Peter isn’t

–  
Rick DeNatale

My blog on Ruby  
[http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

---

<div class="post-metadata">

**Author:** ![woodzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f08c70/32.png) [@woodzer](https://www.ruby-forum.com/u/woodzer)\
**Post date:** [October 4, 2007, 11:31pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364/5 "2007-10-04T23:31:29Z")

</div>

Rick Denatale wrote:

> On 10/4/07, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > > ActiveSupport extension, but you should have it if you are running  
> > > rails.
> > 
> > It’s an activesupport extension, which was introduced with rails 1.2.  
> > If you’re not using rails 1.2, then you’ve got your explanation
> 
> Well I am, maybe Peter isn’t
> 
> –  
> Rick DeNatale
> 
> My blog on Ruby  
> [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

Hi Rick  
Many months ago you helped with a var problem “eRuby” I was having which  
you solved with “from.untaint” I’m slowly working my way into Rails. Not  
being a programmer I love the Rails does thing magically. But it may be  
too much of a good thing 😉

---

<div class="post-metadata">

**Author:** ![woodzer](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/w/f08c70/32.png) [@woodzer](https://www.ruby-forum.com/u/woodzer)\
**Post date:** [October 4, 2007, 11:26pm UTC](https://www.ruby-forum.com/t/agile-del-with-rails-sum-problem/116364/6 "2007-10-04T23:26:59Z")

</div>

Frederick C. wrote:

> On 4 Oct 2007, at 20:40, Rick DeNatale wrote:
> 
> > On 10/4/07, Peter H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> > 
> > > I’d really like to know though why the books code does not work.
> > 
> > Not sure. Enumerable#sum is not part of standard Ruby, it’s an  
> > ActiveSupport extension, but you should have it if you are running  
> > rails.
> 
> It’s an activesupport extension, which was introduced with rails 1.2.  
> If you’re not using rails 1.2, then you’ve got your explanation
> 
> Fred

Fred

rails-1.2.3

I don’t suppose the Ruby version matters but here it is

ruby 1.8.5 (2006-08-25) [x86\_64-linux]
