rails多态模型实现

时间:2011-04-14 00:19:21

标签: ruby-on-rails activerecord model

在我的项目中,我有一个允许用户互相关注的关系模型。

class Relationship < ActiveRecord::Base
  attr_accessible :followed_id

  belongs_to :follower, :class_name => "User"
  belongs_to :followed, :class_name => "User"

end

现在,我还想让用户关注课程和小组。我是否开始一个新的followCourse并跟随Group模型或者我是否建立了关系模型多态?我怎么做?谢谢。

1 个答案:

答案 0 :(得分:1)

我不会对可能很大的表使用多态。我认为最好的方法是使用has_and_belongs_to_many关系来实现这种关系。

请记住在user_id,group_id上创建索引以加快处理速度。您可以使用add_index(:table_name,[:user_id,:group_id])执行此操作。

我也会建立关系UNIQUE,你可以在:unique => true命令的末尾追加add_index