5.5
要实作"购物车"按钮, 一开始没有头绪, 因为route不知道如何写. 瞄了教程, 原来是先从创建controller入手.
其实route思考一下也能大概推测出来, 接着就是判断view这里的代码改什么了.
我还挺开心, 觉得自己选对了...结果被打脸...
为什么呀, cart index是个什么概念...就是罗列全部的carts...这里不应该是current_user的专属cart吗?
难到理解成carts这个index专用的复数是能罗列cart里面全部的cart_items...那我的疑问就是 cart这个单数的show代码又意味着什么? 莫非cart单数里面只显示某一条cart_item而已? 不可能吖...想不通, 先把代码改成教程的 link_to carts_path do
吧...
接着要写跳转页面的view代码...又错? 先是再次忘记table的tbody要each do...然后又是each do写错...
要改成教程的 current_cart.cart_items.each do |cart_item|
这代码怎么又是"current_cart"这单数了呢?!!! 不是用index的path吗?!! 唉...不好懂...
继续写表格...图片要能点击的那种, 要用link_to do来写, 然后...path又写错...
教程打脸 link_to product_path(cart_item.product)
这样才行...
5.6
计算总价, 我猜测一定要有controller定义以及相关的routes才能在view显示. 所以先去cart controller定义一个sum的action来用?
嗯, routes应该不需要添加吧? 直接用controller定义的action计算出来能显示在view? 但那样要定义一个helper_method而不是action而已吧? 还要说明是个helper_method来的...嗯...
对比教程, 这打脸打的...人家直接在view写了算法...根本没有去controller定义任何东西...也没routes什么事...
而且...再一次见识到了each do的力量!!!
要求优化代码也不是去controller里面定义, 而是去helper定义, 最后甚至移动定义到model去了...等等, 所以一般情况下到底在controller还是model还是去helper里定义呢? 困惑的选择啊...希望早日找到规律啊啊啊啊
这三个各自负责的是什么呢? 职能搞清楚就搞定了, 去官网看看三者的介绍资料吧...
在尝试写model的时候, 连续犯错
啊, 大概领悟到为什么这里不用写product, 因为在cart_item的表格结构里, 本来就有quantity这项, 所以可以直接调用, 不用再借由"product"的手才能调用.
小声比比一下, 就算有写product也能正常用, 就是代码看起来不够聪明, 因为能看出来你对表结构不熟悉而且粗心...Orz
网友评论