Shopping Cart for production

Reading the Agile book there's an excerpt that states:

''Make the Cart class an Active Record object and store cart data in
the database. The session would then store the cart object’s id. When
a request comes in, we’d extract this id from the session and then
load the cart from the database.''

This Cart class had the methods below. It initializes an @items array
which contains CartItem objects (which doesn't extends from
ActiveRecord). My guess is that this CartItem class should also be
changed into an ActiveRecord object eventhough this point is not
mentioned on the book. Am I right making this assumption?


class Cart

  def initialize
    @items = []

  def add_product(product)
    current_item = @items.find {|item| item.product == product}
    if current_item
      current_item =
      @items << current_item