【问题标题】:Modelling manually priced products in Rails (Unpriced -> Estimated Price Range -> Exact Price)在 Rails 中为手动定价产品建模(未定价 -> 估计价格范围 -> 准确价格)
【发布时间】:2013-04-26 06:42:54
【问题描述】:

我正在编写一个电子商务平台(在 Rails 中),其中必须手动定价产品的成本。价格基本上有三种可能的状态:

  1. 还没有价格
  2. 价格范围(估计)
  3. 准确的价格(应付)

目前这是使用十进制字段min_pricemax_priceexact_price 建模的。
任何处理价格的逻辑最终都采用以下形式:

if exact_price.present?
  # Do something
elsif min_price.present? && max_price.present?
  # Do something else
else
  # Fallback
end

这在处理集合时变得非常困难,因为有多种可用的定价信息。

我认为最好删除exact_price 列并根据min_pricemax_price 对所有内容进行建模,但这似乎有点混乱

还有其他很好的建模方法吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 database-design e-commerce


    【解决方案1】:

    您可以创建一个封装核心价格逻辑的价格类,并将此类的实例添加到您的模型中

    这将允许您:

    • 创建辅助方法,例如 display_price
    • 实现比较运算符以允许按价格排序(不要 知道逻辑是什么)
    • 当您决定某些产品可能有 价格从(无上限)
    • 为价格创建验证(例如没有准确的价格和最低价格) 有效)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-21
      • 2019-05-29
      • 2014-06-13
      • 1970-01-01
      相关资源
      最近更新 更多