2017-10-17 5 views
0

私は2つのモデルを持っています:国家(テーブル国家)とメジャー(テーブルメジャー)です。 国には世界のすべての国が含まれ、専攻にはコンピューターサイエンス、機械工学などのすべての教育部門が含まれます 両方のモデルにはIDフィールドと名前フィールドがあり、次の関係があります。Ruby on Rails:has_many関係に基づく値を見つける

国家モデル(Nation.rb) にhas_many:専攻

主要モデル(Major.rb) にhas_many:どこnation_id = xのすべての専攻を検索:国

私のようなクエリを実行したいです(ここで、xは国家のIDです)。

どのようにこれをレールで行うのですか?各主要が国にマッピングされている

id major_id nation_id 
1 1  1 
2 1  2 
3 2  1 
. 
. 
. 

は、それが属しており、その逆にどの:

は、私のようなマッピングを含むテーブルが存在しなければならないと感じ。 私はレールが新しく、これを行う方法がわかりません。

答えて

3

2つのマッピングの間に3番目のテーブルを作成するのは正しいことです。あなたには2つの選択肢があります。 major_idとnation_id以外のフィールドが必要な場合に備えて、3番目のテーブルを作成することもできます。

そうでない場合は、結合テーブルを作成する必要があります。試してみて、他の問題がある場合はお知らせください。 Thisの記事で簡単に説明しています。

+0

ありがとうございます。私はこれを試してみます:) – Yesha

+0

チュートリアルは非常に役に立ちました。正確に私が必要としたもの。どうもありがとう! – Yesha

+0

喜んで助けました。 :) – Aakanksha

関連する問題