我正在开发一个应用程序,教师将使用它来管理学生的作业和提交。但是,不同的学校对作业提交、成绩、学生应该做什么和不应该做什么有不同的标准。因此,我希望在我的应用程序中实现一些灵活的角色管理功能,以便教师可以准确地决定用户应该和不应该能够执行的权限。
对此的一种快速解决方案可能是简单地将一些布尔字段添加到我的用户模型中,教师可以通过复选框操作这些布尔字段,并在相关控制器操作上运行 before_filter。或者,我可以将角色定义移动到属于教师的单独模型并在其上运行 before_filter。
在我尝试实现这些解决方案之前,我想知道是否有任何 gem 或插件已经处理灵活的用户管理角色定义?
顺便说一句,如果这意味着什么,我将使用 Devise 进行身份验证。