我正在构建一个 Rails 3 应用程序,并且正在设计一个复杂的用户权限工具,用户可以在其中Company
确定每个PM
.
想象一下这个场景——公司想要在三种类型的数据上建立特定的角色。
- 项目表
- 客户表
- 公司帐户(即公司表)
我正在考虑添加一个包含这些字段的角色多态表:
- user_id(此角色适用的用户,除非 all_users == true)
- 项目类型(例如“项目”、“客户”或“公司”,除非 all_items == true)
- 商品编号(如上)
- 角色(例如“读取”、“编辑”、“销毁”,甚至“自定义”)
- all_users(布尔值:此项的角色是否适用于所有用户)
- all_items(布尔值:此用户的角色是否适用于所有项目)
- company_id(“拥有”此角色的公司)
我觉得 CanCan 将是实现此目标的一种不错的精益方式,但这是我的问题。1. 上表是一个很好的方法吗?2. CanCan 能否与此相结合以创建有效的解决方案?