1

ユーザー、投稿、コメントがあります。投稿はユーザーのものです。ユーザーには多くの投稿があります。

ここで私が混乱しているのは、ユーザーが他のユーザーの投稿にコメントできるようになっていることです。この関連付けを設定するにはどうすればよいですか?

ユーザーには多くのコメントがあり、投稿には多くのコメントがあり、コメントは投稿とユーザーに属していると書くべきですか? またはユーザーは投稿を通じて多くのコメントを持っていますか? また、モデルテーブルにはどの列が必要ですか? user_id、post_id、content は必要ですか?

4

2 に答える 2

1

has_many を使用: 関連付けを通じて

ユーザーモデル:

has_many :posts
has_many :comments, :through => :posts

投稿モデル:

belongs_to :user
has_many :comments

コメントモデル:

belongs_to :post
belongs_to :user
于 2013-01-30T06:26:43.340 に答える
0

あなたは初めて正しいです。

ユーザーには多くのコメントがあります。投稿には多くのコメントがあります。コメントはユーザーのものです。コメントは投稿に属します。

コメント テーブルには、user_id と post_id が必要です。

ユーザーuser.commentsが作成したコメントも同様です。post.commentsその投稿に対するコメントになります。

これは、「このユーザーがこの投稿にコメントした」という関連付けです。

于 2013-01-30T06:25:44.790 に答える