购物网 5.7 继续

2019-06-12  本文已影响0人  RealAnalysis

已经加入购物车的物品,不能重复被加入

我真没思路...勉强想到跟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的代码够狠, 如果quantity不是">0" 直接按钮就不显示, 哈哈哈哈 够狠

我想的不对, 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真是好东西, 暴风哭泣

上一篇 下一篇

猜你喜欢

热点阅读