Ruby on Rails Double Association

时间:2013-03-31 16:12:00

标签: ruby-on-rails associations

我有一个student可以留下很多comment个左右:

class Student < ActiveRecord::Base
  has_many :comments
end

class Comment < ActiveRecord::Base
  belongs_to :student
end

但是,评论需要属于与之相关的学生,但也属于发表评论的学生。也就是说,评论需要同时属于两个不同的学生。

如何实现这一目标?

1 个答案:

答案 0 :(得分:5)

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

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