0

このシナリオでは、どのタイプの Rails 関連付けを使用すればよいですか?

質問には多くの回答があり、ユーザーにも多くの回答があります。

ポリモーフィック アソシエーションは非常に近いように見えますが、質問に対する回答とユーザーが同じオブジェクトを指すようにする回答が必要です。関連付けガイド の例とは異なるようです。その例では、Picture オブジェクトが従業員と製品で異なるためです。彼らの例を使用すると、従業員の写真と製品の写真が同じ写真になる必要があります。

のような構造が必要だと思います

-----------------------------------------------
answer_id | question_id | user_id | answer_text
-----------------------------------------------
|    1    |      5      |    10   |   stuff   |
|    2    |      3      |    6    |   stuff 2 |
|    3    |      2      |    10   |   stuff 3 |

回答を質問に属させて、user_id を手動で追加することもできますが、それはあまり「レールっぽい」とは感じません。

どんな考えでも大歓迎です。

4

1 に答える 1

1

これはうまくいきませんか?

class User < ActiveRecord::Base
 has_many :answers
end

class Question < ActiveRecord::Base
 has_many :answers
end

class Answer < ActiveRecord::Base
 belongs_to :question
 belongs_to :user
end

あなたのテーブル構造は次のようになります

answers
   -question_id
   -user_id
   -answer_text
于 2013-10-18T21:05:20.863 に答える