【发布时间】:2011-06-05 07:25:27
【问题描述】:
我正在构建一个 Rails 3 应用程序,并且正在设计一个复杂的用户权限工具,其中 Company 用户确定每个 PM 的特定角色。
想象一下这种情况 - 公司希望针对三种类型的数据建立特定的角色。
- 项目表
- 客户表
- 公司帐户(即公司表)
我正在考虑添加一个包含这些字段的角色多态表:
- user_id(此角色适用的用户,除非 all_users == true)
- 项目类型(例如“项目”、“客户”或“公司”,除非 all_items == true)
- 项目 ID(如上)
- 角色(例如“读取”、“编辑”、“销毁”,甚至“自定义”)
- all_users(布尔值:此项的角色是否适用于所有用户)
- all_items(布尔值:此用户的角色是否适用于所有项目)
- company_id(“拥有”此角色的公司)
我觉得 CanCan 将是完成此任务的一种不错的精简方式,但这是我的问题。 1. 上表是一个很好的方法吗? 2. CanCan 能否与此相结合以创建有效的解决方案?
【问题讨论】:
标签: ruby-on-rails permissions ruby-on-rails-3 roles cancan