问题描述
|
在我的项目中,我有一个关系模型,允许用户互相关注。
class Relationship < ActiveRecord::Base
attr_accessible :followed_id
belongs_to :follower,:class_name => \"User\"
belongs_to :followed,:class_name => \"User\"
end
现在,我还希望允许用户关注课程和小组。我是否要启动一个新的followCourse和followedGroup模型,或者使关系模型多态?我怎么做?谢谢。
解决方法
我不会对可能较大的表使用多态。我认为最好的方法是对这种关系使用1关系。
记住要在user_id,group_id上创建索引以加快速度。您可以使用
add_index(:table_name,[:user_id,:group_id])
做到这一点。
我还将使关系成为UNIQUE,您可以在add_index
命令的末尾附加:unique => true
。