<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Recent Posts in '8.3 Iteration C2: A Smarter Cart' | Pragmatic Forums</title>
    <link>https://forums.pragprog.com/forums/66/topics/447</link>
    <language>en-us</language>
    <ttl>60</ttl>
    <description></description>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by osagie uwaifo @ Wed, 21 May 2008 01:48:10 -0000</title>
      <description>&lt;p&gt;I just wanted to say thanks Sam for your guidance. It worked just fine. I really don&amp;#8217;t know were i got this line from :@items &amp;lt;&amp;lt; product. Thanks a lot.&lt;/p&gt;</description>
      <pubDate>Wed, 21 May 2008 01:48:10 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2852</guid>
      <author>osagie uwaifo</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by osagie uwaifo @ Tue, 20 May 2008 21:34:25 -0000</title>
      <description>&lt;p&gt;Thanks a lot. I will try the code above and let you know if it works.&lt;/p&gt;</description>
      <pubDate>Tue, 20 May 2008 21:34:25 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2850</guid>
      <author>osagie uwaifo</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by Sam Ruby @ Tue, 20 May 2008 20:57:13 -0000</title>
      <description>&lt;p&gt;It looks to me like your add_produce method does nothing&amp;#8230; it immediately is followed by an &lt;code&gt;end&lt;/code&gt; instead of actually &lt;em&gt;containing&lt;/em&gt; the following code.  The &lt;a href="http://media.pragprog.com/titles/rails3/code/depot_i/app/models/cart.rb"&gt;app/models/cart.rb&lt;/a&gt; is supposed to look something like this:&lt;/p&gt;


&lt;pre&gt;
class Cart
  attr_reader :items

  def initialize
    @items = []
  end

  def add_product(product)
    current_item = @items.find {|item| item.product == product}
    if current_item
      current_item.increment_quantity
    else
      @items &amp;lt;&amp;lt; CartItem.new(product)
    end
  end

  def total_price
    @items.sum { |item| item.price }
  end

end
&lt;/pre&gt;</description>
      <pubDate>Tue, 20 May 2008 20:57:13 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2849</guid>
      <author>Sam Ruby</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by osagie uwaifo @ Tue, 20 May 2008 18:25:15 -0000</title>
      <description>&lt;p&gt;It is still creating product object. And actually seems right to me. when the add product method is called, we are passing in a product object. The we add the product object to the @items array.&lt;/p&gt;


	&lt;p&gt;current_item = @items.find {|item| item.product == product}&lt;/p&gt;


	&lt;p&gt;From the line above we do try to call a method item.product that really does not exist. This seems right.&lt;/p&gt;


	&lt;p&gt;I think there should be a better way of writing this method. Please let me know what you think. Thanks for your time.&lt;/p&gt;</description>
      <pubDate>Tue, 20 May 2008 18:25:15 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2848</guid>
      <author>osagie uwaifo</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by osagie uwaifo @ Tue, 20 May 2008 18:16:29 -0000</title>
      <description>&lt;p&gt;This is my Cart class&lt;/p&gt;


	&lt;p&gt;class Cart &lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;attr_reader :items , :quantity# &amp;lt;whatis linkend="wtf.attr.accessor"&gt;attr_reader&amp;lt;/whatis&gt;&lt;strong&gt;TRUNC&lt;/strong&gt;&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;def initialize
    @items = []
end&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;def add_product(product)
end&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;@items &amp;lt;&amp;lt; product
puts @items&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;current_item = @items.find {|item| item.product == product}
puts "printing current_item " +current_item
if current_item
    current_item.increment_quantity
else
end&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;@items &amp;lt;&amp;lt; CartItem.new(product)&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;def total_price
    @items.sum { |item| item.price }
end&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;end&lt;/p&gt;</description>
      <pubDate>Tue, 20 May 2008 18:16:29 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2847</guid>
      <author>osagie uwaifo</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by osagie uwaifo @ Tue, 20 May 2008 15:17:07 -0000</title>
      <description>&lt;p&gt;Thank you for your quick response. I will try that  and see what happens.&lt;/p&gt;</description>
      <pubDate>Tue, 20 May 2008 15:17:07 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2846</guid>
      <author>osagie uwaifo</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by Sam Ruby @ Tue, 20 May 2008 10:52:04 -0000</title>
      <description>&lt;p&gt;The error you are describing sounds suspiciously like the error described on page 111 of B1.1.  The solution described there is to issue the command:&lt;/p&gt;


&lt;pre&gt;
rake db:sessions:clear
&lt;/pre&gt;

	&lt;p&gt;If you are still seeing product objects in your @items array, I would like to see your add_product method implementation from &lt;a href="http://media.pragprog.com/titles/rails3/code/depot_g/app/models/cart.rb"&gt;app/models/cart.rb&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Tue, 20 May 2008 10:52:04 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2845</guid>
      <author>Sam Ruby</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
    <item>
      <title>8.3 Iteration C2: A Smarter Cart posted by osagie uwaifo @ Tue, 20 May 2008 04:21:57 -0000</title>
      <description>&lt;p&gt;Hi i can&amp;#8217;t get passed this section. I have read and tried everything on the forums. I keep getting this error:&lt;/p&gt;


	&lt;pre&gt;&lt;code&gt;NoMethodError in StoreController#add_to_cart&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;undefined method `product&amp;#8217; for #&amp;lt;product:0x368b354&gt;&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;RAILS&lt;/span&gt;_ROOT: C:/Rails/rails_apps/depot&lt;br /&gt;Application Trace | Framework Trace | Full Trace&lt;/p&gt;


	&lt;p&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/attribute_methods.rb:205:in `method_missing&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `add_product&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `each&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `find&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `add_product&amp;#8217;&lt;br /&gt;app/controllers/store_controller.rb:19:in `add_to_cart&amp;#8217;&lt;/p&gt;


	&lt;p&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/attribute_methods.rb:205:in `method_missing&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/base.rb:1602:in `find&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `send&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `perform_action_without_filters&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:697:in `call_filters&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:689:in `perform_action_without_benchmark&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/rescue.rb:199:in `perform_action_without_caching&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in `perform_action&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/query_cache.rb:8:in `cache&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:677:in `perform_action&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `send&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `process_without_filters&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in `process_without_session_management_support&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/session_management.rb:123:in `process&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in `process&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:171:in `handle_request&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/webrick_server.rb:112:in `handle_dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/webrick_server.rb:78:in `service&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/webrick_server.rb:62:in `dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/commands/servers/webrick.rb:66&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2-/lib/active_support/dependencies.rb:496:in `require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2-/lib/active_support/dependencies.rb:342:in `new_constants_in&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2-/lib/active_support/dependencies.rb:496:in `require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/commands/server.rb:39&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require&amp;#8217;&lt;br /&gt;script/server:3&lt;/p&gt;


	&lt;p&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/attribute_methods.rb:205:in `method_missing&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `add_product&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/base.rb:1602:in `find&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `each&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `find&amp;#8217;&lt;br /&gt;app/models/cart.rb:16:in `add_product&amp;#8217;&lt;br /&gt;app/controllers/store_controller.rb:19:in `add_to_cart&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `send&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:1158:in `perform_action_without_filters&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:697:in `call_filters&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:689:in `perform_action_without_benchmark&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/rescue.rb:199:in `perform_action_without_caching&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:678:in `perform_action&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2-/lib/active_record/query_cache.rb:8:in `cache&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/caching.rb:677:in `perform_action&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `send&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:524:in `process_without_filters&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/filters.rb:685:in `process_without_session_management_support&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/session_management.rb:123:in `process&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/base.rb:388:in `process&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:171:in `handle_request&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:115:in `dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:126:in `dispatch_cgi&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_controller/dispatcher.rb:9:in `dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/webrick_server.rb:112:in `handle_dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/webrick_server.rb:78:in `service&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:104:in `service&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/httpserver.rb:65:in `run&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:173:in `start_thread&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:162:in `start_thread&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:95:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `each&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:92:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:23:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/1.8/webrick/server.rb:82:in `start&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/webrick_server.rb:62:in `dispatch&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/commands/servers/webrick.rb:66&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2-/lib/active_support/dependencies.rb:496:in `require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2-/lib/active_support/dependencies.rb:342:in `new_constants_in&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/activesupport-2.0.2-/lib/active_support/dependencies.rb:496:in `require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/gems/1.8/gems/rails-2.0.2-/lib/commands/server.rb:39&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require&amp;#8217;&lt;br /&gt;c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require&amp;#8217;&lt;br /&gt;script/server:3&lt;/p&gt;


	&lt;p&gt;Request&lt;/p&gt;


	&lt;p&gt;Parameters:&lt;/p&gt;


	&lt;p&gt;{&amp;#8220;authenticity_token&amp;#8221;=&amp;gt;&amp;#8221;d3f613dc201329a40d6e9cf91e9528e242c96fc9&amp;#8221;,
 &amp;#8220;id&amp;#8221;=&amp;gt;&amp;#8221;1&amp;#8221;}&lt;/p&gt;


	&lt;p&gt;Sorry i copied everything. Basically, it is not finding anything with the CartItem class. The application thinks i am calling the product object. It is not recognizing the cartItem class at all. I have deleted/dropped my database and ran rake db:migrate command again to populate my database again. I am using SQLite3. I am wondering how the cart class is talking to the cartItem class since there is no require &amp;#8217;&amp;#8217; statement in either of the file. And also how the product is actually able to see these files.&lt;/p&gt;


	&lt;p&gt;This is my controller class&lt;br /&gt;class StoreController &amp;lt; ApplicationController&lt;/p&gt;


&lt;h1&gt;attr_reader :product&lt;/h1&gt;




	&lt;pre&gt;&lt;code&gt;def index
    @products = Product.find_products_for_sale
end&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;public
def add_to_cart&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;product = Product.find(params[:id])&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;@cart = find_cart
@cart.add_product(product)&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;end&lt;/code&gt;&lt;/pre&gt;


	&lt;pre&gt;&lt;code&gt;private
def find_cart
    unless session[:cart] # if there's no cart in the session
           session[:cart] = Cart.new # add a new one
    end
           session[:cart] # return existing or new cart
end&lt;br /&gt;end&lt;/code&gt;&lt;/pre&gt;


	&lt;p&gt;Basically, I need the application to recognize the CartItem class, if anyone can point me to the right path, i will appreciate it.&lt;/p&gt;


	&lt;p&gt;I think the error is from this line in the cart class :&lt;br /&gt;current_item = @items.find {|item| item.product == product}&lt;/p&gt;


	&lt;p&gt;It is returning a product type or a product type object. Basically, cartItem objects and product objects are being stored in the items array.&lt;br /&gt;This code is a little confusing. This line is what is holding me back. I know this becos i put a puts statement after this line and it does not reach my print statement.&lt;br /&gt;Any help would be appreciated.&lt;/p&gt;</description>
      <pubDate>Tue, 20 May 2008 04:21:57 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:66:447:2841</guid>
      <author>osagie uwaifo</author>
      <link>https://forums.pragprog.com/forums/66/topics/447</link>
    </item>
  </channel>
</rss>
