2011-09-11 39 views
0

私のレールアプリでは、各ユーザーは多くのコンテストを作成することができ、各コンテストは多数のユーザーをコンテストに参加させることができます。私はhas_and_belongs_to_manyを使用するのが適切かどうかは、あるユーザーがコンテストを作成しないでコンテストに参加することがあるためですか?has_and_belongs_to_manyはここで適切な関連付けをしていますか?

使用する方が良い代替方法がありますか?

+0

あるエンティティが他のエンティティを*作成*しているかどうかは、実際には関係ありません。それは記述されている関係であり、創造の過程ではありません。 –

答えて

0

あなたの場合は、ユーザーと競技の参照(user_idとcompetition_id)のあるテーブルが必要です。

ユーザーと競技の各関連でいくつかのプロパティを必要とする場合(たとえば、異なるユーザーの競合が異なるルールや属性を持つ場合)、個別のモデルを作成する必要がありますそのモデルのインスタンス)、あなたはhas_manyを使う必要があります:else has_and_belongs_to_many is fineです。

関連する問題