Ruby on rails RubyonRails双重关联
我有一个学生可以对他们留下很多评论:Ruby on rails RubyonRails双重关联,ruby-on-rails,associations,Ruby On Rails,Associations,我有一个学生可以对他们留下很多评论: class Student < ActiveRecord::Base has_many :comments end class Comment < ActiveRecord::Base belongs_to :student end 然而,评论必须属于与之相关的学生,也必须属于发表评论的学生。也就是说,评论需要同时属于两个不同的学生 如何做到这一点?在评论表中,您应该有一个评论者id和一个学生id,这样评论既可以属于评论者,也可以属于
class Student < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :student
end
然而,评论必须属于与之相关的学生,也必须属于发表评论的学生。也就是说,评论需要同时属于两个不同的学生
如何做到这一点?在评论表中,您应该有一个评论者id和一个学生id,这样评论既可以属于评论者,也可以属于学生
class Comment < ActiveRecord::Base
belongs_to :student
belongs_to :commenter, class_name: 'Student'
end
在comments表中,您应该有一个commenter_id和一个student_id,这样评论既可以属于commenter,也可以属于student
class Comment < ActiveRecord::Base
belongs_to :student
belongs_to :commenter, class_name: 'Student'
end
可能也想在这些列上添加索引,但取决于用例。可能也想在这些列上添加索引,但取决于用例。