我正在编写一个电子商务平台(在Rails中),其中产品的成本必须手动定价。基本上,价格有三种可能的状态:
此时使用小数字段min_price
,max_price
和exact_price
建模。
任何逻辑处理价格都以下列形式结束:
if exact_price.present?
# Do something
elsif min_price.present? && max_price.present?
# Do something else
else
# Fallback
end
在处理集合时,这变得非常困难,因为有各种可用的定价信息。
我认为最好放弃exact_price
列并根据min_price
和max_price
对所有内容进行建模,但这似乎有点凌乱
还有其他很好的建模方法吗?
答案 0 :(得分:1)
您可以创建一个封装核心价格逻辑的价格类,并将此类的实例添加到您的模型中
这将允许您: