仿照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中去。