我正在一个小型社交媒体项目中工作。
基本上,我有2个模型:与用户相关的用户和帖子。
我想添加朋友的概念。所以我想为每个用户创建一个Friends表。每个用户都会指向他自己的朋友表,其中存放了朋友ID。
是否动态创建模型朋友表?如果有可能怎么做呢?
谢谢!
答案 0 :(得分:2)
这是一个非常糟糕的主意。相反,你应该有一个友谊表来管理所有用户之间的关系。您可以使用has_and_belongs_to_many关系或连接模型,例如:
class User < ActiveRecord::Base
has_many :friendships
has_many :friends, :through => :friendships
end
class Friendship < ActiveRecord::Base
belongs_to :user
belongs_to :friend, :class_name => 'User', :foreign_key => 'friend_id'
end