2016-07-23 8 views
0

私は3つのモデルRails 4以上のhas_manyには1つの関係がありますか?

1)

User 
has_one :quiz 
**has_many :answers, through :quizzes** 

2)

Quiz 
belongs_to :user 
belongs_to :answer 

3)を持っている

Answer 
**has_one :user** 

これは太字の面で(セットアップ正しい関係です**行)?英語で:

私は、ユーザーが1つのクイズを持つことを望んでいますが、回答で他の複数のユーザーのクイズに答えることができます。

答えて

1

私は全くわからないんだけど、それは、これはあなたが探しているものであるようだ。

User 
    has_one :quiz 
    has_many :answers 
    has_many :answered_quizzes, through: :answers, source: :quiz 

Quiz 
    belongs_to :user 
    has_many :answers 

Answer 
    belongs_to :quiz 
    belongs_to :user 
+0

あなたはanswered_quizzesを含む行を説明する気にしませんか? Rails&DBにはかなり新しいので、すばらしいでしょう。しかし、ええ、これはもっと合理的に見えます。 – helpisgood

+0

これはちょうど追加されました。将来、ユーザーが回答したすべてのクイズを取得したい場合があります。ユーザーとクイズの間の結合テーブルとしてanswersテーブルを使用します。 – oreoluwa

関連する問題