使用 rails 创建组并邀请他们

sha*_*onj 4 ruby-on-rails devise

我有基本的 rails 应用程序并使用设计进行身份验证。话虽如此,我有一个用户模型。现在,我想在我的应用程序中有一个群组功能,用户可以在其中创建和邀请其他人加入群组。

那么我如何创建组,并且因为我已经设计了设置,如何使用设计可邀请插件来邀请和添加为组成员?

谢谢

Don*_*ham 5

从我所见,Rails 中的大多数“组”功能都是建立在用户和组之间存在多对多关系的基础之上的。组拥有许多用户作为成员,并且用户拥有许多组的成员资格。因此,使用 ActiveRecord 提供的 has_many :through 关系来实现组非常简单。这是一个最基本的实现:

class Group
  has_many :users, :through => :memberships
end

class User
  has_many :groups, :through => :memberships
end

class Membership
  belongs_to :group
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

花点时间看一下解决 ActiveRecord 关联的 Rails 指南,你就会明白。

我很确定 Devise Invitable 插件用于邀请某人在您的站点上创建注册,而不是邀请他们加入您站点内的组。我不知道管理群组成员邀请系统的任何 gem。

如果组是您对站点执行的操作的核心方面,您可能需要查看一些基于 RoR 的 CMS 选项。我认为他们中的一些人具有完整的团队管理能力。这是一个资源:https : //www.ruby-toolbox.com/categories/content_management_systems

希望这可以帮助。