是否可以在运行rails应用程序时创建模型表?

时间:2013-12-06 15:52:03

标签: ruby dynamic model ruby-on-rails-4

我正在一个小型社交媒体项目中工作。

基本上,我有2个模型:与用户相关的用户和帖子。

我想添加朋友的概念。所以我想为每个用户创建一个Friends表。每个用户都会指向他自己的朋友表,其中存放了朋友ID。

是否动态创建模型朋友表?如果有可能怎么做呢?

谢谢!

1 个答案:

答案 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