12月16日 增加一个购物车内product数量的功能, 自定义method,在helper中定义,计算代码Refactor到Model中。

仿照Rails实战:购物网站 教材:5-6 step5:计算总价,做出在nav上显示购物车内product的数量。

 遇到的❌:

1. 

           <% sum = 0 %>
           <% current_cart.cart_items each do |cart_item| %>
             <% if cart_item.product.price.present? %>
               <% sum = sum + cart_item.quantity * cart_item.product.price %>
             <% end %>
           <% end %>
           <%= sum %>个

错误❌提示:Nomethod each 

纠错:没有加点“.” ,见上粉色框

2. 在我_navbar.html.erb中的导航条上创建显示购买的产品数量的功能:<%= render_cart_total_product(current_cart)%>,但显示错误:

错误❌: undefined method `render_cart_total_product'

纠错: 我直接在cart.rb中创建了method:total_product,却忘记了首先应当在helpers中的carts_helper.rb中添加对应的method:  render_cart_total_product(cart)

 

总结使用自定义method的时候,需要在helper文件夹内对应的helper.rb中进行声明,之后如果有计算,把相应的计算代码放置到model中去。