私は3つのモデルを持っています。Rails:circular 3つのテーブルの多対多関係
- ユーザー(多くの質問を投稿することができます)
- 質問(多くの回答を持つことができます)
- 回答(ユーザーが多くの回答を投稿することができます)
今、私が作成することができます関連といった:
class User < ActiveRecord::Base
has_many :questions
has_many :answers
end
class Question < ActiveRecord::Base
belongs_to :user
has_many :answers
end
class Answer < ActiveRecord::Base
belongs_to :user
belongs_to :question
end
私はそれを行う場合は210
は今、特定の質問のクエリに対して任意のユーザの答えを見つけるために次のようになります。
@answers = User.find(params[:id]).answers.where(:question_id => params[:question_id])
は、任意のより良い解決策はありますか?アソシエーションを変更する必要がありますか、それは方法ですか?
ユーザーは、常に自分の回答を書いているのでしょうか?質問を作成するためのユーザーインターフェイスが必要ですか? – max
@max、はいユーザーは質問を作成/更新するためのインターフェイスを持っています。また、彼らは自分の質問に答えることができます。 – Emu
あなたのソリューションは私にとって最適です。あなたはそれについて心配していますか? –