我正在尝试在包含以下 3 种类型的导轨中设计模型关联:
评论员、博文和评论
--> 它是“评论者”而不是“用户”,这意味着他们不是创建博客文章的用户......相反,他们只创建评论。
而 Commentator 和 Comment 之间的基本关系是显而易见的:
class Commentator < ActiveRecord::Base
has_many :comments
class Comment < ActiveRecord::Base
belongs_to: comments
我不确定如何将“博客帖子”与此联系起来... --> 我希望能够询问评论员留下的所有博客帖子以及特定博客帖子的所有评论员。
由于这是一个多对多的关系,我会使用:
class Commentator < ActiveRecord::Base
has_many :comments
has_many :blogposts, :through => :comments
class Blogpost < ActiveRecord::Base
"has_many :commentators, :through => :comments
评论员创建博文时,我必须将评论中的commenentator_id和blogpost_id自己写到评论表的对应字段中吗?
我认为将博客帖子作为贯穿元素会更好,因为当评论员创建评论时,可以自动建立关系。(除了评论员不能对不存在的博客帖子创建评论......)但是,评论员到评论将不是多对多的关系,我不能再使用“has_many ... through”了。
将这 3 种模型关联起来的好方法是什么?