質問: Railsのモデルの関連付けについて質問です。 teratailsのような質問サイトを想定したときに、Railsだったらどう作るのかなと思い、BAの実装方法は?というところで詰まっています。 Userモデル Noteモデル belongs_to :user_id Commentモデル belongs_to :user_id belongs_to :note_id BestAnswerモデル belongs_to :note_id belongs_to :comment_id このように、モデルがあったとして、投稿ユーザーにより、BAが決定され、BestAnswerのカラムに、note_idとcomment_idが入ります。 そして、ノートを表示させたページに、note_idに紐づいたコメントを@note.comment.eachで表示させています。 この@note.commentのidと、note.idを両方ともコントローラーへ渡す手法がさっぱりで困っています。 どのような手法があるでしょうか? よろしくお願いします。
回答: ベストアンサー自体は1投稿に対して1件ですが、データの組み方は何通りか考えられます。 その1: 投稿自体に`has_one :best_answer, class_name: 'Comment'`として、ベストアンサー用の列を持たせる その2: ベストアンサーモデルで`belongs_to :note`、`has_one :comment`のようにしておく