2013-03-31 41 views
1

我有一个student,可以有很多comment的左关于他们:Ruby on Rails的双协会

class Student < ActiveRecord::Base 
    has_many :comments 
end 

class Comment < ActiveRecord::Base 
    belongs_to :student 
end 

的评论,但必须属于学生谁是有关,但也属于发表评论的学生。也就是说,评论需要同时属于两个不同的学生。

这是如何实现的?

回答

5

在评论表中,您应该有commenter_idstudent_id,因此评论可以属于评论者和学生。

class Comment < ActiveRecord::Base 
    belongs_to :student 
    belongs_to :commenter, class_name: 'Student' 
end 
+1

可能还想在这些列上添加索引,但取决于用例。 – bdares