Ruby on rails 在RubyonRails中对组进行建模的好方法是什么

Ruby on rails 在RubyonRails中对组进行建模的好方法是什么,ruby-on-rails,sqlite,postgresql,Ruby On Rails,Sqlite,Postgresql,我最近开始学习Rails,并在上完成了示例应用程序。我正在尝试将用户创建的组添加到示例社交网络中。我一直在琢磨我应该如何准确地为团队建模。我知道应该有一个组所有者的用户id,并且应该有名称和描述的字符串。除此之外,我不知道组数据模型的其余部分应该是什么样子。提前谢谢你。像这样的东西怎么样 class Group < ActiveRecord::Base has_many :users end class User < ActiveRecord::Base belongs_t

我最近开始学习Rails,并在上完成了示例应用程序。我正在尝试将用户创建的组添加到示例社交网络中。我一直在琢磨我应该如何准确地为团队建模。我知道应该有一个组所有者的用户id,并且应该有名称和描述的字符串。除此之外,我不知道组数据模型的其余部分应该是什么样子。提前谢谢你。

像这样的东西怎么样

class Group < ActiveRecord::Base
  has_many :users
end

class User < ActiveRecord::Base
  belongs_to :group
end
类组
如果您希望一个用户在多个组中,您的关系应该是这样的

class Group < ActiveRecord::Base
  belongs_to :owner, :class_name => "User"
  has_many :memberships
  has_many :members, :through => :memberships
end

class Membership < ActiveRecord::Base
  belongs_to :member, :class_name => "User" 
  belongs_to :group
end

class User < ActiveRecord::Base
  has_many :memberships
  has_many :groups, :through => :memberships
  has_many :owned_groups, :class_name => "Group", :foreign_key => "owner_id"
end
类组“User”
你有很多会员资格吗
拥有多个:会员,:至=>:会员资格
结束
类成员身份“用户”
属于:组
结束
类用户:成员身份
拥有多个:拥有的组,:class\u name=>“组”;:foreign\u key=>“所有者id”
结束

谢谢您的回复,我有几个问题。这会允许用户加入多个组吗?这会允许用户不在组中吗?@rockyroadster555不在组中很容易,只是不要给用户一个组。对于多个组,has_many:through可能是您想要的,但是如果没有额外的用户/组数据,habtm将起作用。非常感谢。认可的。