【发布时间】:2012-07-19 04:10:49
【问题描述】:
从著名的 Agile Web Development with rails 书(最新版)中获取这个 sn-p:
def create
@cart = current_cart
product = Product.find(params[:product_id])
@line_item = @cart.line_items.build(product: product)
这适用于一般电子商务/仓库应用,此功能适用于特定产品的“添加到购物车”按钮。这就是我感到困惑的地方:
我想象的代码是:
@line_item = line_items.build(product: product)
@line_item = line_items.build(cart: @cart)
基本上,如果line_item 既属于产品又属于购物车,我会分别创建这些关系。
另外,如果购物车还没有line_items,那我该怎么办@cart.line_items?我知道line_items.build(product: product) 将返回给我一个line_item 对象(我将其保存到@line_item),但是如果购物车中还没有line_items,cart.line_items 如何工作?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2