我们说我有@cart
这样的对象与has_many
有@product
的关系。
现在,在@cart
的编辑表格中,我有@product
的相关项目:
购物车ID#1234:
我需要的是,数据库中所有可能的@products
都会显示0
这样的数量:
购物车ID#1234:
如果用户更改了一个product
的金额,我可以保存这个新金额(分别为关系)
答案 0 :(得分:0)
在edit
行动中,您可以
ProductType.each do |product_type|
next if @cart.products.where(product_type: product_type.id).empty?
@cart.build_products(product_type: product_type)
end
这将创建所有产品类型。
然后在update
行动中你可以做
if @cart.update_attributes(cart_params)
@cart.products.each do |product|
product.destroy if product.amount == 0
end
...
...这是为了删除未使用的产品。