如何设置此关联和模型迁移?

时间:2013-01-30 06:17:29

标签: ruby-on-rails-3 migration associations

我有用户,帖子和评论。帖子属于用户。用户有很多帖子。

现在我感到困惑的是,用户应该能够对其他人的帖子发表评论。 如何设置此关联?

我应该写用户有很多评论,帖子有很多评论,评论属于帖子和用户吗?或者用户通过帖子发表了很多评论? 模型表还应包含哪些列?它需要user_id,post_id,content?

2 个答案:

答案 0 :(得分:1)

使用has_many :through Association

用户模型:

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

发布模型:

belongs_to :user
has_many :comments

评论模型:

belongs_to :post
belongs_to :user

答案 1 :(得分:0)

你第一次说得对。

用户有很多评论。帖子有很多评论。评论属于User。评论属于Post。

评论表应该有user_id和post_id。

所以user.comments将是用户发表的评论。 post.comments将对该帖子发表评论。

这是一个关联,说“此用户评论了这篇文章。”