Why wouldn't you have another link/button that reads "Add to Wishlist" and when the buyer clicks on it, the item is added to the list. You will need a table for a wishlist with 2 colums: id and customer_id and a table for wishlist_items with these columns: t.column :product_id, :integer t.column :cart_id, :integer t.column :price, :float t.column :amount, :integer t.column :created_at, :datetime
then your relationships should be: wishlist: has_many :cart_items has_many :products, :through => :cart_items belongs_to :custome
customer: has_one: wishlist
Then, you can add the items from the session to the wishlist.
How to add the functionality to move the items in the cart to the wishlist, I still not sure how to do (new to rails as well). But the above works for me, so the items in the cart stay till the next time the customer logs in (with the use of an authentication system.)
HTH, Elle