Depot app from 'Agile Web Development with Rails'

In the book 'Agile web development with Rails", the authors are building
a store-like app. At some point they add dynamic adding a product with
ajax call.

[code]
<!-- store_controller#index -->
<% form_remote_tag :url => { :action => 'add_to_cart', :id => product }
do %>
  <%= submit_tag "Add to Cart" %>
<% end %>
[/code]

[code]
# store_controller.rb
def add_to_cart
product = Product.find(params[:id])
@cart = find_cart
@current_item = @cart.add_product(product)

# render xhr request
[/code]

[code]
# model cart.rb / no DB table
def add_to_cart(product)
   current_item = @items.find {|item| item.product == product}
    if current_item
      current_item.increment_quantity
    else
      current_item = CartItem.new(product)
      @items << current_item
    end
    current_item
  end
[/code]

Is there a way to add a text field which will represent the quantity of
the product to add in the cart ? Customer enter quantity in text field,
click Add to cart and the product and quantity is added to the
model/cart.

Thanks in advance

surely , but i warn you that that tutorial is very old, there are better way to do everything now.

<!-- store_controller#index -->
<% form_remote_tag :url => { :action => 'add_to_cart', :id => product }
do %>
 <%= text_field_tag :quantity%>
  <%= submit_tag "Add to Cart" %>
<% end %>
# store_controller.rb
def add_to_cart
product = Product.find(params[:id])
@cart = find_cart
@current_item = @cart.add_product(product)

# render xhr request
# model cart.rb / no DB table
def add_to_cart(product)
   current_item = @items.find {|item| item.product == product}
    if current_item
     params[:quantity].blank? ? current_item.increment_quantity : current_item.quantity = params[:quantity]
    else
      current_item = CartItem.new(product)
     unless  params[:quantity].blank? current_item.quantity = params[:quantity]

      @items << current_item
    end
    current_item
  end

forgot to add the ‘end’

Are you saying they aren’t using the 'better ways" of doing things in the latest tutorial that is in their latest book for Rails 3? (Just curious because I’m using it as a guide for my learning as well.)

“Are
you saying they aren’t using the 'better ways” of doing things in the latest tutorial that is in their latest book for Rails 3? (Just curious because I’m using it as a guide for my learning as well.) "

the book for rails 3 is not out , it will be out in January 2011

http://pragprog.com/titles/rails4/agile-web-development-with-rails

"Are you saying they aren't using the 'better ways" of doing things in the
latest tutorial that is in their latest book for Rails 3? (Just curious
because I'm using it as a guide for my learning as well.) "

the book for rails 3 is not out , it will be out in January 2011

http://pragprog.com/titles/rails4/agile-web-development-with-rails

The Beta version of the book is available now (as advertised on the
link you gave).

Colin

Yes but only if you buy it from pragmatic bookshelf ( i didnt : / ) its UD$53, but at amazon they have it for US$29.

anyway i assumed he has the 3 edition.