davet
2006-Jul-03 05:38 UTC
[Rails] Agile Web Dev on Rails - ActiveRecord::RecordNotFound Prob
Hi there I''ve also made a start on the Agile Web Dev using Rails book! I''ve been hit with a problem when hitting the ''Add to Cart'' button - I get the following error message: ActiveRecord::RecordNotFound in StoreController#add_to_cart Couldn''t find Product without an ID RAILS_ROOT: ./script/../config/.. Application Trace | Framework Trace | Full Trace D:/Ruby/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:939:in `find_from_ids'' D:/Ruby/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:382:in `find'' #{RAILS_ROOT}/app/controllers/store_controller.rb:11:in `add_to_cart'' It seems to me that the id of the item is not been passed in - my storecontroller code looks like this: # add a product to the cart def add_to_cart @cart = find_cart @product = Product.find(params[:id]) @cart.add_product(@product) end It''s not obvious to me where the id is supposed to be set / got from? Can anybody help? Thanks, Dave -- Posted via ruby-forum.com.
davet
2006-Jul-03 05:46 UTC
[Rails] Re: Agile Web Dev on Rails - ActiveRecord::RecordNotFound Pr
davet wrote:> > It''s not obvious to me where the id is supposed to be set / got from? > Can anybody help? >Oops!! Found it!! The button code in my index.rhtml page was missing '', :id => product %>''... Anyways, thanks for the help!! :) -- Posted via ruby-forum.com.
Mohit Sindhwani
2006-Jul-03 16:37 UTC
[Rails] Agile Web Dev on Rails - ActiveRecord::RecordNotFound Prob
davet wrote:> Hi there > > I''ve also made a start on the Agile Web Dev using Rails book! I''ve been > hit with a problem when hitting the ''Add to Cart'' button - I get the > following error message: > > ActiveRecord::RecordNotFound in StoreController#add_to_cart > Couldn''t find Product without an ID > RAILS_ROOT: ./script/../config/.. > > Application Trace | Framework Trace | Full Trace > D:/Ruby/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:939:in > `find_from_ids'' > D:/Ruby/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-1.14.2/lib/active_record/base.rb:382:in > `find'' > #{RAILS_ROOT}/app/controllers/store_controller.rb:11:in `add_to_cart'' > > It seems to me that the id of the item is not been passed in - my > storecontroller code looks like this: > > # add a product to the cart > def add_to_cart > > @cart = find_cart > @product = Product.find(params[:id]) > @cart.add_product(@product) > > end > > It''s not obvious to me where the id is supposed to be set / got from? > Can anybody help? > > Thanks, > Dave > >Dave, Does your app/views/store/index.html file have the ":id => product" as mentioned in the book? (Pg 113 of the PDF) Cheers Mohit.