【发布时间】:2012-02-17 06:03:12
【问题描述】:
阅读RailsGuides、此处的一些答案和其他文档后,我仍然对如何建模这种关系感到困惑。
考虑有对象用户和组的模型,其中用户可以是组的普通成员或具有管理权限(创建组、邀请用户、删除用户、删除组)我希望两个对象都有两个多-很多关系。
- user.memberOfGroups = 用户所属的组列表
- group.userMembers = 作为组成员的所有用户的列表
- user.managedGroups = 用户管理的组列表 的特权
- group.managingUsers = 具有管理权限的用户列表 小组
这行得通吗?
class User < ActiveRecord::Base
has_many :managedGroups, :class_name => "Group", :foreign_key => "managingUsers"
has_many :memberOfGroups, :class_name => "Group", :foreign_key => "userMembers"
end
class Group < ActiveRecord::Base
has_many :managingUsers, :class_name => "User", :foreign_key => "managedGroups"
has_many :userMembers, :class_name => "User", :foreign_key => "memberOfGroups"
end
我在指南中找到了如何使用脚手架生成模型对象,这对我来说很好,我只想为 POST 和 GET 创建一个基本的 Web 服务。如果以上是正确的,它应该像使用脚手架创建模型然后编辑以包含显示的行一样简单?
【问题讨论】:
标签: ruby-on-rails database-design