Ruby on rails Rails,产品变体

Ruby on rails Rails,产品变体,ruby-on-rails,model,nested,Ruby On Rails,Model,Nested,我正在努力构建一个电子商务应用程序(无狂欢、购物等),以便学习rails。目前,我有一个餐厅模式、餐饮模式和订单模式。用户(使用Desive)可以打开餐点,在订单表单中填写属性:quantity并将订单发送到他们的购物车(保存:餐厅id、餐点id、数量)。然而,餐馆里的饭菜通常有大小和补充(加奶酪、番茄酱等)。理想情况下,我会构建类似spree_flexi_变体的东西 但我就是不知道该怎么做。。。我应该在餐点中嵌套“特色”和“补充”(当餐点当前嵌套在餐厅中时变为两级),还是以某种方式为餐点模型添

我正在努力构建一个电子商务应用程序(无狂欢、购物等),以便学习rails。目前,我有一个餐厅模式、餐饮模式和订单模式。用户(使用Desive)可以打开餐点,在订单表单中填写属性:quantity并将订单发送到他们的购物车(保存:餐厅id、餐点id、数量)。然而,餐馆里的饭菜通常有大小和补充(加奶酪、番茄酱等)。理想情况下,我会构建类似spree_flexi_变体的东西
但我就是不知道该怎么做。。。我应该在餐点中嵌套“特色”和“补充”(当餐点当前嵌套在餐厅中时变为两级),还是以某种方式为餐点模型添加属性?谢谢你们的建议

我假设您的用餐对象将补充剂作为子项目,在这种情况下,订单也需要子项目,在这种情况下,它们将是补充剂和订单之间的连接

你不必这样做,这只是一种可能的方法。您可以将选定的补充存储为订单行上的序列化哈希


如果这是一个以学习为目的的项目,我会尝试这两种方法,看看哪一种感觉最好——这都是有用的练习

我将尝试使用一个属性的方法:膳食模型中的补充材料,它存储所有当前选项+每个选项的价格。谢谢:)