已经加入购物车的物品,不能重复被加入
我真没思路...勉强想到跟product_id有关, 但如何限制重复出现...思路应该是"相同product_id不能添加到current_cart"...但 "已经存在cart之中的product_id这信息是保存在哪呢?" 用代码如何实现呢? 估计要到controller里面改 add_product_to_cart的代码...哪个controller呢...
看教程, 发现是改product的controller...然后我居然忘记了有"include?"这个代码!!!
而且改动的也不是add_product_to_cart, 而是add_to_cart. 还有, 跟product_id无关...唉...打脸超严重
可以更改购物车内购买的数量( 原本预设数量都是1)
要显示目前的quantity然后要加上"增加""减少"的按钮. 我思考至少要改view 去controller定义"+"还有"-", 然后去routes加两者的path...结果...
被教程打脸啊!!!
不是"加减按钮" 而是"数值"的写法啦...用的是form_for...而且里面用了"url"这字眼...学习了
库存为 0 的货品不能购买
估计要在product controller里面的定义加一条限制, "非0"才可以, 应该会用到 "!"的

的确乱来, 我去改了controller, 教程里面则是既改动了view又改动了controller...但...view的代码如何体现"非0才能加入购物车"?
-
view
哦哦哦! 居然用的不是"!=" 而是 ">"哦~ 而且view的代码够狠, 如果quantity不是">0" 直接按钮就不显示, 哈哈哈哈 够狠
-
controller
我想的不对, controller要改的根本不是product的, 因为教程直接去改了cart_items的controller?!! 跪了, 我对需求的理解还是不够...Orz
if @cart_item.product.quantity >= cart_item_params[:quantity].to_i
这对表格结构关系很确定才写的出来的...唉, 而且...末尾的to_i
你又是谁啊大哥?!!
而且这里修改Controler其实更多是为了下面的最后一条需求在做修改啊...
在购物车新增数量时,不能更新超过原有库存的数量
本来自己觉得上面对controller的修改已完成了这条需求, 看了教程才知道, 并不是...(所以说跟撸代码的说明清楚需求, 真的是相当高难度的沟通工作啊! )
其实是要求 "库存有多少, 购物车就能选择多少quantity" 的意思...妈呀...

教程里面的写法, 蛮多不同之处的呢...

这位
to_i
大哥到底什么来头
原来是转换data type的代码啊! 将string转换成integer呈现. 看几个例子就懂了.
Ruby provides the to_i
and to_f
methods to convert strings to numbers. to_i
converts a string to an integer, and to_f
converts a string to a float.
"5".to_i # 5
"55.5".to_i # 55
"55.5".to_f # 55.5
Google真是好东西, 暴风哭泣
网友评论