【发布时间】:2019-12-11 07:01:33
【问题描述】:
我有一个组织模型,我想根据用户的角色进行身份验证,即 admin 和 superadmin。当我以 admin 身份登录时,列表上不应该有组织模型,并且它的 CRUD 操作也不应该工作,但是当以 superadmin 身份登录时,它应该可以正常工作。 我还尝试根据用户角色在 rails admin 中隐藏组织模型,但它显示以下错误:
我对 Rails 管理员配置了解不多,因此我可能对尝试隐藏模型的方式有误。那么是否有任何其他方法可以做到这一点,以及基于用户角色对模型进行身份验证的更好解决方案??
用户.rb
enum role: [:admin, :superadmin]
Rails 6.0.1
rails_admin 2.0
【问题讨论】:
-
您的屏幕截图与问题无关。
current_user通常只能在 Controller 和 View 中访问。您要做的是“授权”,并由 Rails Admin 中的“cancancan”gem 控制。在 Rails 管理员的 wiki 上阅读 more -
感谢您的关注,但除了“授权”之外,我还想根据用户角色隐藏模型,我的屏幕截图指的是我尝试这样做时的错误。因此,如果无法访问
current_user我该怎么做,因为我认为“cancancan”gem 只会帮助我进行授权,或者在基于角色隐藏模型的同时处理 UI 部分是否会有所帮助?? -
隐藏UI部分,cancancan提供
can?方法。在cancancan 的check abilities 部分阅读更多内容