我正在开发一个应用程序,它需要两种类型的用户regular user
和admin
。普通用户在应用中具有角色,管理员没有任何角色,他应该有权访问管理面板。
实现此任务的最佳方法是什么?
虽然你的问题可以有广泛的答案,但我建议你如下:
您可以使用cancan进行授权和访问管理,也可以使用权威人士
但是,还有另一个选项rolify,用于角色管理,可以与cancan
结合使用。
另一种方法是将 activeadmin 用于管理员,并使用任何授权 gem(cancan
、pundit
等)进行regular user
访问管理。
最简单的解决方案可能是在您的用户模型中只有一个名为 admin
的布尔字段。当你能做到这一点时,你可以做这样的事情:
<% if current_user.admin? %>
<%= render 'admin_panel' %>
<% end %>