我应该为管理员创建另一个模型吗?或者在 Rails 的 Ruby 中最好的方法是什么?

Should I create another model for admins? Or what's the best way to do it in Ruby on Rails?

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

执行此任务的最佳方法是什么?

虽然您的问题可以有多种答案,但我还是建议您以下几点:

您可以使用cancan for authorisation and access management, or you can use pundit

然而还有另一个选项rolify,它用于角色法力gement,可以与cancan.

结合使用

一个替代方案可以使用 activeadmin 作为管理员,并使用任何授权 gem(cancanpundit 等)作为 regular user 访问权限gement.

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

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