何时将模型拆分为两个独立的模型?

时间:2012-06-01 11:54:13

标签: ruby-on-rails-3 ruby-on-rails-3.1

我有一个名为Price的模型,其中包含以下列:

create_table :prices do |t|
   t.decimal :cost
   t.integer :product_id
   t.integer :store_id
   t.decimal :cost_per_unit
   t.decimal :unit_amount
   t.string  :unit
end

在我的应用中,价格可以使用cost列,也可以使用其他3,cost per unitunit amountunit。既然我有这个规则,那么创建另一个名为PricePerUnitUnitPrice的模型是否明智?现在我打算只使用Price模型和两个单独的表单。你会怎么做?如果我计划专门处理这两种不同价格类型的列,那么从长远来看会有什么好处呢?

1 个答案:

答案 0 :(得分:1)

拥有可为空的列并不是很好,特别是如果您打算查询它们。如果有单独的类(和表)不会让你的生活变得更加困难,我肯定会创建两个不同的类(和表)来处理这些情况。

如果您不打算查询这些列,并且单个类更简单,那么我没有看到很多改进。