数据库设计 - 我是否应该为管理员创建另一个模型?或者在Ruby on Rails中做到这一点的最佳方式是什么?



我正在开发一个应用程序,它需要两种类型的用户regular useradmin。普通用户在应用中具有角色,管理员没有任何角色,他应该有权访问管理面板。

实现此任务的最佳方法是什么?

虽然你的问题可以有广泛的答案,但我建议你如下:

您可以使用cancan进行授权和访问管理,也可以使用权威人士

但是,还有另一个选项rolify,用于角色管理,可以与cancan结合使用。

另一种方法是将 activeadmin 用于管理员,并使用任何授权 gem(cancanpundit 等)进行regular user访问管理。

最简单的解决方案可能是在您的用户模型中只有一个名为 admin 的布尔字段。当你能做到这一点时,你可以做这样的事情:

<% if current_user.admin? %>
  <%= render 'admin_panel' %>
<% end %>

最新更新