ruby on rails(8) -- session2

   统计数目的数量,重新创建一个类。CartItem。
  
   class CartItem
	attr_reader :product,:quantit
	def initialize(product)
			@product = product
			@quantity = 1
	end
	def increment_quantity
		  @quantity += 1
	end
	def title
		@product.title 	end
	def price
		@product.price * @quantity
	end
end
   

   #为什么能访问title,还有price,这个product不是刚定义的么,没有tilte属性啊,求达人解答
   修改 app/models/cart.rb add_to_product 方法
  def add_product(product)
  current_item = @items.find{|item| item.product == product}
    if current_item
	current_item.increment_quantity
    else
	 @items << CartItem.new(product)     #add product to 数组
     end
   end

   然后修改add_to_product.html.erb加上<%=h item.quantity%>
   此时报错。在Product模型中没有定义product方法。因为我们改了以后,session还是原来的session,所以出错。清楚session rake db:sessions:clear 清楚cookies。cookies不同时清除,后面会产生You have a nil object when you didn't expect it!错误。查了好久才查出来。发现session还是老的,但是数据库里面没有,所以是cookie搞的鬼
 

你可能感兴趣的:(html,Ruby,Rails)