hello:
I am building a shopping_cart.Before the user proceed to check out,i
want the user to be able to modify the quantity for any cart_item,so
there is a quantity update function which is a rails form in the cart
page.
- cart information are kept in the session,cart are made of some
cart_items,every cart_item has title,price,quantity…attributes. - cart_item is not stored in the database,but there is cart_item
model,every cart_item object are made from the product object which has
corresponding model and table in the database.
My problem: when i use form to update the quantity attributes for
some cart_item,the corresponding method can not output the expected
result, the quantity does not changed.Who can help me?The following are
my codes:
<%=form_tag(:action=>“quantity_update”,:id=>cart_item)-%>
<%=text_field :cart_item,:quantity,“size” => 10 -%>
<%=submit_tag “recalculate”%>
<%=end_form_tag-%>
def quantity_update
@cart=find_cart
#items is an array storing the cart_items
[email protected]{|i|i==params[:id]}
if modified_item
[email protected](modified_item)
modified_item.quantity=params[:cart_item][:quantity]
@cart.items[index]=modified_item
return @cart
end
end
private
def find_cart
session[:cart]||=Cart.new
end