Ruby on rails Rails有很多,而且有很多贯穿

Ruby on rails Rails有很多,而且有很多贯穿,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我对如何着手处理这个问题感到困惑。我通过成员模型连接用户和组,但我也希望用户能够创建新的组。显然,一个组必须属于一个用户,但通过memberships表,这些组也属于用户 我的user.rb文件中有这个,但我觉得它错了。我是否要删除第一个,然后只保留第二个?在这种情况下,我如何在组的创建者中工作 class User < ApplicationRecord has_many :groups has_many :groups, through: :memberships end c

我对如何着手处理这个问题感到困惑。我通过成员模型连接用户和组,但我也希望用户能够创建新的组。显然,一个组必须属于一个用户,但通过memberships表,这些组也属于用户

我的user.rb文件中有这个,但我觉得它错了。我是否要删除第一个,然后只保留第二个?在这种情况下,我如何在组的创建者中工作

class User < ApplicationRecord
  has_many :groups
  has_many :groups, through: :memberships
end
class用户

换句话说,用户是许多组的成员,但也是许多组的创建者。memberships表只有两列(组id和用户id)。此列中的用户id用于存储属于该组的用户。我被困在如何处理创建组的用户的问题上

在组和用户之间应该有两种关系。一个反映用户创建了一个组,一个反映用户属于一个组。您可以通过配置关系的命名来反映这一想法。您还必须在Groups表中添加一个user_id字段

class User < ApplicationRecord
  has_many :created_groups, class_name: "Group"
  has_many :memberships
  has_many :groups, through: :memberships
end

class Group < ApplicationRecord
  belongs_to :creator, class_name: "User"
  has_many :memberships
  has_many :subscribers, through: :memberships, source: :user
end

class Membership < ApplicationRecord
  belongs_to :user
  belongs_to :group
end
class用户