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

私のアプリケーションでは、Price は、cost使用される列または他の 3、、、および のcost per unitいずれunit amountかを持つことができますunit。このルールがあるので、 または という名前の別のモデルを作成するのが賢明でしょうPricePerUnitUnitPrice? 現時点では、Price モデルと 2 つの個別のフォームのみを使用する予定です。あなたならどうしますか?これら 2 つの異なる価格タイプを具体的に扱う列を計画している場合、長期的には何が良いでしょうか?

4

1 に答える 1

1

null許容型の列があることは、特にそれらを照会することを計画している場合は、あまり良くありません。別々のクラス(およびテーブル)を使用しても生活が難しくならない場合は、これらのケースを処理するために2つの異なるクラス(およびテーブル)を作成します。

これらの列のクエリを実行する予定がなく、単一のクラスを1つ持つ方が簡単な場合は、それを実行しても多くの改善は見られません。

于 2012-06-01T13:58:02.737 に答える