session[:cart] = nil
redirect_to_index unless request.xhr?
end
+
+ def checkout
+ @cart = find_cart
+ if @cart.items.empty?
+ redirect_to_index("Your cart is empty" )
+ else
+ @order = Order.new
+ respond_to do |format|
+ format.js if request.xhr?
+ format.html
+ end
+ end
+ end
+
+ def save_order
+ @cart = find_cart
+ @order = Order.new(params[:order])
+ @order.add_line_items_from_cart(@cart)
+ if @order.save
+ session[:cart] = nil
+ redirect_to_index("Thank you for your order")
+ else
+ render :action => 'checkout'
+ end
+ end
+
private
def find_cart