我有一个具有以下模型的应用程序:人员、项目、ProjectsAdminLists。
人和项目之间存在 HABTM 关联。每个项目都有一个 ProjectAdminsList,每个项目都可以有很多人。
属于每个项目的人可以将其他人添加到其中,但我想将此关联的删除限制为属于 ProjectAdminsList 的人。在视图中限制这一点很简单,但在控制器中最好的方法是什么?我正在寻找这方面的一般指导。
我有一个具有以下模型的应用程序:人员、项目、ProjectsAdminLists。
人和项目之间存在 HABTM 关联。每个项目都有一个 ProjectAdminsList,每个项目都可以有很多人。
属于每个项目的人可以将其他人添加到其中,但我想将此关联的删除限制为属于 ProjectAdminsList 的人。在视图中限制这一点很简单,但在控制器中最好的方法是什么?我正在寻找这方面的一般指导。
你需要某种授权系统,我建议你看看 Ryan Bates(RailsCasts 人)写的 CanCan gem,你可以开始看Authorization with CanCan RailsCast,然后看看真正好的文档。
这里有一个概述:
current_user
方法来确定当前登录的用户can?
视图层中的方法来检查用户是否可以对某物进行某些操作load_and_authorize_resource
控件使 CanCan 根据ability.rb 文件自动检查授权。当然,我只是触及了表面,因为文档非常好。