elle
(elle)
1
Hi,
I added a field to my cart that allows you to update the quantity of
the item but when I try to update the quantity I get an error:
NoMethodError in CartController#update
undefined method `update_attribute' for #<Array:0x3464698>
app/models/cart.rb:33:in `update'
app/controllers/cart_controller.rb:53:in `update'
Request
Parameters: {"qty_update"=>"3", "id"=>"2"}
cart_items.find_all_by_product_id(product_id)
will certainly return an array, not a cart item object… you might use
cart_items.find_all_by_product_id(product_id)
.first
bye
elle
(elle)
3
will certainly return an array, not a cart item object... you might use
cart_items.find_all_by_product_id(product_id).first
When I changed that, I now get this error:
NameError in CartController#update
undefined local variable or method `product' for #<CartController:
0x31795c8>
app/controllers/cart_controller.rb:54:in `update'
Request
Parameters: {"qty_update"=>"4", "id"=>"2"}
My cart_controller.rb is:
49 def update
50 @product = Product.find(params[:id])
51 qty_update = params[:qty_update]
52 if request.post?
53 @cart.update(params[:id], qty_update)
54 flash[:notice] = "Updated <em>#{product.title}</em>"
55 redirect_to :action => "view_cart"
56 end
57 end
Any ideas?
TIA,
Elle
elle
(elle)
4
Actually, changing it from @product to product and then changing this
line: @cart.update(product, qty_update) -- fixed it 
Thanks.
Elle