Finished iteration D.3 in chapter 9
[depot.git] / app / controllers / store_controller.rb
index f0103268556578461452c8c2bfa7b834c71600eb..8234cdcb244d053025bcc790324fc63b1b74352e 100644 (file)
@@ -1,12 +1,16 @@
 class StoreController < ApplicationController
   def index
     @products = Product.find_products_for_sale
+    @cart = find_cart
   end
 
   def add_to_cart
     product = Product.find(params[:id])
     @cart = find_cart
-    @cart.add_product(product)
+    @current_item = @cart.add_product(product)
+      respond_to do |format|
+        format.js
+      end
   rescue ActiveRecord::RecordNotFound
     logger.error("Attempt to access invalid product #{params[:id]}" )
     redirect_to_index('Invalid product')
@@ -23,8 +27,8 @@ class StoreController < ApplicationController
     session[:cart] ||= Cart.new
   end
 
-  def redirect_to_index(msg)
-    flash[:notice] = msg
+  def redirect_to_index(msg = nil)
+    flash[:notice] = msg if msg
     redirect_to :action => 'index'
   end