构建智能购物车:从基础实现到错误处理
1. 创建基础购物车
在 Ruby 中,有更地道的方式来实现某些功能。例如,使用如下代码来查找购物车:
private
def find_cart
session[:cart] ||= Cart.new
end
此方法运用了 Ruby 的条件赋值运算符 ||= 。若会话哈希中存在与键 :cart 对应的值,会立即返回该值;反之,则创建一个新的 Cart 对象并赋值给会话,最后返回这个新的 Cart 对象。需注意将 find_cart 方法设为私有,防止 Rails 将其作为控制器的动作。
接下来实现购物车。先在 app/models 目录下创建 cart.rb 文件:
class Cart
attr_reader :items
def initialize
@items = []
end
def add_product(product)
@items << product
end
end
这里的购物车本质上是一个商品项数组的包装器。当添加商品时,会将其追加到商品列表中。
在目录列表视图里,每个商品都有“添加到购物车”按钮。为让按钮与 store
Ruby on Rails实现智能购物车及错误处理
超级会员免费看
订阅专栏 解锁全文
1013

被折叠的 条评论
为什么被折叠?



