【发布时间】:2012-02-23 22:16:27
【问题描述】:
我有基本的 Rails 应用程序并使用设计进行身份验证。话虽如此,我有一个用户模型。现在,我想在我的应用中加入群组功能,用户可以在其中创建并邀请其他人加入群组。
那么我如何创建群组,而且我已经设计了设置,如何使用devise invitable plugin 邀请和添加为群组成员?
谢谢
【问题讨论】:
标签: ruby-on-rails devise
我有基本的 Rails 应用程序并使用设计进行身份验证。话虽如此,我有一个用户模型。现在,我想在我的应用中加入群组功能,用户可以在其中创建并邀请其他人加入群组。
那么我如何创建群组,而且我已经设计了设置,如何使用devise invitable plugin 邀请和添加为群组成员?
谢谢
【问题讨论】:
标签: ruby-on-rails devise
据我所见,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
花一点时间看一下解决 ActiveRecord 关联的 Rails 指南,您就会明白这一点。
我很确定 Devise Invitable 插件用于邀请某人在您的站点上创建注册,而不是邀请他们加入您站点内的群组。我不知道有任何管理群组成员邀请系统的 gem。
如果群组是您使用网站所做的核心方面,您可能需要查看一些基于 RoR 的 CMS 选项。我认为其中一些具有完整的组管理功能。这是一个资源:https://www.ruby-toolbox.com/categories/content_management_systems
希望这会有所帮助。
【讨论】: