0

我有一个具有以下模型的应用程序:人员、项目、ProjectsAdminLists。

人和项目之间存在 HABTM 关联。每个项目都有一个 ProjectAdminsList,每个项目都可以有很多人。

属于每个项目的人可以将其他人添加到其中,但我想将此关联的删除限制为属于 ProjectAdminsList 的人。在视图中限制这一点很简单,但在控制器中最好的方法是什么?我正在寻找这方面的一般指导。

4

1 回答 1

0

你需要某种授权系统,我建议你看看 Ryan Bates(RailsCasts 人)写的 CanCan gem,你可以开始看Authorization with CanCan RailsCast,然后看看真正好的文档。

这里有一个概述:

  • 它只需要一个current_user方法来确定当前登录的用户
  • 您将授权规则写入单个文件 ( ability.rb )
  • 您使用can?视图层中的方法来检查用户是否可以对某物进行某些操作
  • 您调用load_and_authorize_resource控件使 CanCan 根据ability.rb 文件自动检查授权。

当然,我只是触及了表面,因为文档非常好。

于 2012-04-25T11:44:05.110 回答