我正在创建一个类似博客的应用程序,其中包含基于不同管理员层的功能。
我有一个主管理员,我希望能够将用户转变为子管理员,这将是一种管理员,可以访问某些管理员功能但不是全部。
目前我有一个_users partial,我在视图中使用它来向管理员显示所有用户:
<li>
<%= link_to user.name, user %>
| <%= pluralize(user.how_many_new_posts?, "unsubmitted daily post") %>
<% if current_user.admin? && !current_user?(user) %>
| <%= link_to "delete account", user, method: :delete,
data: { confirm: "You sure?" } %>
<% end %>
</li>
这将呈现每个用户的名称,他们拥有的未提交帖子数以及删除用户的选项。
我想在这里包含另一个选项,一种单击按钮以使指定用户成为子托管的方法。单击此按钮后,它应该使管理员能够将其他用户分配给此子托管,以便他们可以像上面部分一样监视它们。我认为这将需要一些新的部分,但我不完全确定它将如何工作。有没有人有这方面的经验?
答案 0 :(得分:1)
您需要创建一个名为Role
的模型has_many
用户和User
belongs_to
Role
或您喜欢的任何关系。
你可能有roles
差异。{
然后,您可以根据自己设计自己的角色来管理可访问性/能力,或者您可以使用宝石,例如: cancancan
然后,在您的视图中,您可以提供可用roles
的下拉列表,并更改role_id
上的submit
。