【问题标题】:How do I share sizes that don't change that point to prices that will be different at the same size?我如何共享不会改变指向价格的尺寸在相同尺寸下会有所不同?
【发布时间】:2017-04-21 15:44:11
【问题描述】:

如何为具有多种不同尺寸且每个产品的价格与所有其他产品的价格不同且取决于其尺寸的产品设置 DRY 数据库?

例子:

那不勒斯(小号 $9.95)、(中号 $10.95)、(大号 $11.95)、(x-大号 $13.50)、(xx-大号 $29.95)

素食之梦披萨(小号 $13.50)(中号 $15.50)(大号 $17.50)

夏威夷披萨(小 $11.95)(中 $13.50)(大 $14.95)

因此,对于将那不勒斯披萨放入数据库的管理员,他们会输入商品名称,然后从下拉菜单中选择第一个尺寸并添加其价格,然后可以再添加 5 个尺寸及其对应的无需再重写 5 次那不勒斯披萨的价格。这些尺寸都将参考那不勒斯比萨饼,您将能够发现不同尺寸的那不勒斯比萨饼的价格。此外,Vegetarian 和 Hawaiian Pizza 将能够重复使用有限的尺寸选项,并且可以按尺寸搜索价格。

客户将能够看到那不勒斯披萨的列表及其六种尺寸,然后只需单击一个即可添加到购物车。

我不是在问如何做下拉菜单或任何前端,只是一种设置数据库的 DRY 方式。

我之前以不同的方式问过这个问题,但没有得到回应。我仍在努力寻找解决此问题的 DRY 方法。这是我以前的question

【问题讨论】:

    标签: ruby-on-rails activerecord rails-activerecord dry


    【解决方案1】:

    如何将 json 数据类型的列添加到以键为大小和价格为值的披萨模型中?

    【讨论】:

    • 像这样:Product.create(name: "Neapolitan", sizes: { small: "9.95", medium: "10.95", large: "11.95", xlarge: "13.50", xxlarge: "29.95"})?如果这就是您的意思,有没有办法让这些键成为在创建任何产品之前可供选择的唯一选项?
    • 初始化一个常量数组,可以在管理员表单中使用,也可以冻结VARIANTS = ['small', 'medium', 'large', 'xlarge', 'xxlarge'].freeze等可用的变体,并循环遍历它以从表单中获取它们的值。跨度>
    猜你喜欢
    • 2016-01-26
    • 2020-12-26
    • 2020-08-15
    • 2020-05-16
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2014-10-31
    • 2012-09-17
    相关资源
    最近更新 更多