# NoMethodError in StoreController#add\_to\_cart

**URL:** <https://www.ruby-forum.com/t/nomethoderror-in-storecontroller-add-to-cart/134844>\
**Category:** Rails\
**Created:** [April 15, 2008, 4:13pm UTC](https://www.ruby-forum.com/t/nomethoderror-in-storecontroller-add-to-cart/134844 "2008-04-15T16:13:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![korre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b782af/32.png) [@korre](https://www.ruby-forum.com/u/korre)\
**Post date:** [April 15, 2008, 4:13pm UTC](https://www.ruby-forum.com/t/nomethoderror-in-storecontroller-add-to-cart/134844/1 "2008-04-15T16:13:31Z")

</div>

I’m trying to set up the Depot app from Agile Web D. and I  
got this error after C1 - Creating a Cart.

The exact error looks like this:

* * *

NoMethodError in StoreController#add\_to\_cart

You have a nil object when you didn’t expect it!  
You might have expected an instance of Array.  
The error occurred while evaluating nil.\<\<

## E:/InstantRails/rails\_apps/depot/app/models/cart.rb:9:in `add_product' E:/InstantRails/rails_apps/depot/app/controllers/store_controller.rb: 8:in`add\_to\_cart’

## The contents of cart.rb:

class Cart  
attr\_reader :items

def initialize  
@items = []  
end

## def add\_product(product) @itmes \<\< product debugger end end

## The contents of store\_controller.rb

class StoreController \< ApplicationController  
def index  
@products = Product.find\_products\_for\_sale  
end  
def add\_to\_cart  
@cart = find\_cart  
product = Product.find(params[:id])  
@cart.add\_product(product)  
debugger  
end

private

## def find\_cart session[:cart] ||=Cart.new end end

What could be the problem?

---

<div class="post-metadata">

**Author:** ![korre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b782af/32.png) [@korre](https://www.ruby-forum.com/u/korre)\
**Post date:** [April 15, 2008, 4:15pm UTC](https://www.ruby-forum.com/t/nomethoderror-in-storecontroller-add-to-cart/134844/2 "2008-04-15T16:15:53Z")

</div>

On Apr 15, 3:06 pm, korre [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> ```
> def add_product(product)
> @itmes << product
> debugger
> 
> ```

You’ve typoed @items

Fred

---

<div class="post-metadata">

**Author:** ![korre](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/b782af/32.png) [@korre](https://www.ruby-forum.com/u/korre)\
**Post date:** [April 15, 2008, 4:31pm UTC](https://www.ruby-forum.com/t/nomethoderror-in-storecontroller-add-to-cart/134844/3 "2008-04-15T16:31:42Z")

</div>

Yup. That did the trick 🙂 Ooops…

On Apr 15, 5:15 pm, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
