统计数目的数量,重新创建一个类。CartItem。
[color=red]#为什么能访问title,还有price,这个product不是刚定义的么,没有tilte属性啊,求达人解答[/color]
修改 app/models/cart.rb add_to_product 方法
然后修改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搞的鬼
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
[color=red]#为什么能访问title,还有price,这个product不是刚定义的么,没有tilte属性啊,求达人解答[/color]
修改 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搞的鬼