在 Rails 应用程序上创建组功能

问题描述 投票:0回答:1

我一直在尝试在 Rails 应用程序上设置组功能,但在组织结构时遇到一些问题。因此,我想要实现的是让用户创建一个组,然后邀请其他用户加入该组,可能只需简单地通过共享该组的链接即可。困难的部分是只能让已共享链接的用户加入群组。到目前为止我已经想出了一个用户模型

class User < ApplicationRecord
  has_many :groups
end

和一个简单的群体模型

class Group < ApplicationRecord
  belongs_to :user
end

现在我想知道我是否需要另一层,例如会员资格或邀请才能实现我所追求的目标?

ruby-on-rails
1个回答
0
投票

您最初的尝试实际上不起作用,因为它是一对多关系。

由于组

belongs_to :user
,组中只能有一个用户。这是一个非常孤独的群体。

您真正想要的是多对多关联,为此您需要创建一个联接表和间接关联。

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

class Membership < ApplicationRecord
  belongs_to :user
  belongs_to :group
end

class Group < ApplicationRecord
  has_many :memberships
  has_many :users, through: :memberships
end 

如何实现能够邀请用户加入群组的整个功能对我来说太广泛了,无法详细介绍。您需要将其分解为步骤并为每个步骤制定计划。

© www.soinside.com 2019 - 2024. All rights reserved.