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

[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搞的鬼
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值