1

我有一个使用 Devise 设置了身份验证的 rails 应用程序。我正在添加 CanCan 和 Role_Model。添加能力似乎很容易。但是我不确定在哪里存储用户的角色。我是不是该:

  1. 在用户数据库表中为角色添加一列?

  2. 为角色和角色用户添加一个或多个单独的表?

  3. 在其他地方添加角色?

4

1 回答 1

2

这取决于角色将如何在您的应用程序中实现。

  1. 如果角色将被继承,例如admin< registered user< guest,这意味着管理员能够做所有事情reg. user并且guest能够(等等),那么您可能只想role在公共用户模型上添加一个字段。

  2. 如果您的应用程序中的“操作”与不继承权限的特殊角色相关联(与上面不同),即您需要在管理员上拥有多个角色才能与应用程序进行一些常见的交互(如来宾),那么您需要一个连接表,用user_id, role_id对填充。

我个人更喜欢第一种选择。

于 2012-05-11T18:43:32.120 回答