刘华佼的全栈学习记录

5-23 购物车总计价格bug解决思路

| Comments

解bug思路:

发现一个bug:

总计价格与实际不符,这个功能之前做过,测试是正确的。可能在后面哪里做的时候不小心改了什么东西造成的。

那该如何解决这个bug呢?

首先,我发现这个计算总价所在网页的地址是:http://localhost:3000/carts

所以应该到app/view/carts/index.html.erb中寻找。为了尽快定位,在该文件中搜索“总计”二字,很快找到对应位置:

这一条就是对应网页显示总价的代码。current_cart看起来是没问题的,那么就要找render_cart_total_price了。这个看起来是一个helper。

那就到helper文件夹下找,找到跟cart相关的一个文件:carts_helper.rb,点开看,果然有定义render_carts_total_price。这里面只有非常简短的一行定义:

def render_cart_total_price(cart)
cart.total_price
end

那再看看教材上是怎么写的?

搜索render_cart_total_price,发现它在5-6节 计算总价,对应代码是:

+  def render_cart_total_price(cart) 
+    sum = 0 +    cart.cart_items.each do |cart_item| 
+      if cart_item.product.price.present? 
+        sum += cart_item.quantity * cart_item.product.price 
+      end 
+    end 
+    sum 
+  end

把教材上的代码搬过来,再测试,就OK了:

总结:

前两天因为作息规律不正常,睡得晚昨天整天大脑晕乎乎的,情绪也不太好,没做什么事情。今天快七点才起来。队友很早就线上找我了,我早上还要维护小密圈。

跟队友沟通后,又产生了一堆待做事项。浏览了下已经推上线的其他全栈营朋友的作品,又是一阵自卑、心慌、沮丧。

然而,不能让情绪搞砸我的事情,手写下要做的事情,然后理清先后顺序,从解bug开始。

并且,昨天跟朋友沟通过,明白了记录和总结的重要性,所以在平复心态后,很快做完了第一件事情:解决计算总价的bug。做完了,一反常态,赶紧把解决思路写下来。完成了这篇文章。

顺利做完第一件事情,也有信心、也能平静地去做第二件事情了。

经过前几天与朋友们的交流,面对激烈的竞争,和那些令人自惭形秽、被热门围观的作品,我有了新的想法:有效社交的根本就是提升自己的技能,让自己成为一个对别人有用的人,对社会有利用价值的人,所以最重要的是自己的目标;人要想办法靠近自己的目标,而不是以靠近热点和带光环的人为目标。

人要学会“利用“带光环的人:他们需要关注,你自己需要什么,就拿你的关注换你需要的东西,而不是单纯的围观、无私奉献自己的注意力。带光环的人利用普通人的注意力获得经济效益或者其他,普通人要利用带光环的人,获得自己需要的东西,这种互动才是有价值的。至于能不能在“相互利用”的环节中产生实用效益以外的副产品,比如人脉、友情,全看缘分。

Comments

comments powered by Disqus