【发布时间】:2016-04-11 15:37:15
【问题描述】:
有很多用户和一个管理员。用户可以创建组并发送/接收加入这些组的请求。该系统运行良好。我现在正在构建管理员创建的单独的“超级组”。这些“超级群体”不是靠请求,而是靠预约。管理员选择一个用户,选择一个组,然后将所选用户添加到所选组中。我该如何做到这一点?
- 如何设置它以便管理员可以简单地选择一个用户(在他们的个人资料页面上)、选择一个组(最好从下拉列表中)然后进行关联?
例如,作为管理员,我想转到用户的个人资料页面,在个人资料页面上有一个下拉菜单(只有管理员可访问)并将用户添加到我选择的组中。我将如何做到这一点?通过一种形式?布尔字段?我可以在我的加入模型创建操作中添加一个附加方法 (
注意:我正在使用 has_many :through 关联来捕获关系。管理员有许多“超级组”,可以很好地创建/删除。 “超级组”有很多成员(用户)。我只需要知道如何以管理方式将用户放入组中。
【问题讨论】:
-
这些分为多少个模型?你有
SuperGroup模型和Group模型,还是SuperGroup只是Group的一种类型?如果您可以将这些模型与其关联包括在内,那将有助于为您提出解决方案。 -
Groups 和 Super Groups 是两个独立的模型。
-
我真的只需要知道将用户添加到 has_many 的最佳实践:通过下拉关联。
-
请看我更新的答案。简短的回答是:使用下拉菜单选择
super_group_id。将其传递给 Rails 控制器。加载正确的记录后,使用 append 方法 (<<) 将用户分配到组。
标签: ruby-on-rails forms ruby-on-rails-4 activerecord grouping