Ruby on rails Rails设计的用户既属于,又有很多
在花了几天的时间在网上寻找答案后,我想我应该寻求帮助。我试图找出使用Rails关联实现这些关系的最佳方法 我有4种型号:Ruby on rails Rails设计的用户既属于,又有很多,ruby-on-rails,ruby,associations,has-and-belongs-to-many,Ruby On Rails,Ruby,Associations,Has And Belongs To Many,在花了几天的时间在网上寻找答案后,我想我应该寻求帮助。我试图找出使用Rails关联实现这些关系的最佳方法 我有4种型号:User、Transfer、Building和Bag 用户具有角色属性。角色的可能值为'admin','building\u contact'和'guest' 这就是它在树结构中的样子。管理员、来宾和构建联系人是@用户的角色: Admin | Transfer / \ Guest Bui
User
、Transfer
、Building
和Bag
用户
具有角色
属性。角色
的可能值为'admin'
,'building\u contact'
和'guest'
这就是它在树结构中的样子。管理员
、来宾
和构建联系人
是@用户
的角色:
Admin
|
Transfer
/ \
Guest Building
| |
Bag BuildingContact
管理
|
转移
/ \
宾客大厦
| |
制袋触点
因此:
管理员有很多:传输
传输属于:admin
中转站有很多客人
客人所属\转机
客人有很多包
转让属于:建筑物
建筑有许多:传输
建筑有很多:建筑联系人
实现与
用户
模型的关系的最佳方式是什么?
提前谢谢 我想问的一个基本问题是: 用户是否有多个角色?我猜不会,因为你只有一个角色属性。它们可能共享很多东西,但我要说的是,不同用户类型的业务逻辑将创建不同的模型。放弃该角色属性,改为使用类型属性和STI如何
class Admin < User; end
class Guest < User; end
class BuildingContact < User; end
class-Admin
这样,您将拥有继承的用户功能,但您可以在适当的地方定义不同的业务逻辑。您可以将其扩展到不同的控制器和视图中,否则我认为您可能会面临拥有比您想要的更大的用户类的风险。太好了!我昨晚有这个主意,但不知道叫什么。所以我坚持我的做法。谢谢你给我指明了正确的方向。