2016-09-04 7 views
1

モデルを定義するためのエレガントな方法は、1つの製品が異なるサイズを持つことができます(これらのサイズは価格が異なります)。Rails/MySQL - サイズと価格の製品

rails generate model Product name:string 

rails generate model ProductSize size:string product:references 

rails generate model SizePrice price:decimal size:references 

私はこのようなものを作成する必要がありますか?

私は答えを探していましたが、私のような初心者が理解できるものは見つかりませんでした。

+0

1.「エレガントなデザイン」とは、具体的にはどういう意味ですか? 2.この質問は本当ですか、それとも勉強だけですか?価格は実際のビジネスでは非常に複雑になります。 – Shadow

+0

1.将来的には速くて柔軟性が高いでしょう。 2.それは勉強の練習です。私は1週間前にRoRを学び始めましたが、私はMySQL(むしろJSON)を使っていません – Ancinek

+0

あなたはあなたが何を探しているのか分かりません。基本的にはデザイン要件は非常に幅広く、主に意見ベースであり、要件、優先順位、および個人的スタイルがすべてその部分を果たしているためです。あなたが望むものを記述することさえできない場合、客観的な答えを提供することは不可能です。まず、あなたのデータモデルが達成したいと思っているもの(エンティティ、それらの属性、エンティティが互いにどのように関連付けられているかを記述する)を簡単な言葉で言葉で書き留めます。後にデザインを行うほうがずっと簡単になるでしょう。 – Shadow

答えて

1

あなたは正しい方向にあります。 joinテーブルを使用して多対多の接続を実装する必要があります(この場合、SizePriceテーブルになります)。このRails Guideの2.4節を参照してください。

関連する問題