2017-05-25 185 views
0

我正在创建一个基于博客的应用程序,其中包含基于不同层管理员的功能。允许管理员将用户分配给Ruby on Rails中的子管理员

我有一个主要的管理员,我想让用户变成一个子管理员,这将是一种可以访问某些管理员功能但不是全部管理员的管理员。

目前我有这个_users部分,我在一个视图中使用,以显示所有用户的管理:

<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> 

,这会使得每一个用户,有多少他们有未提交职位的名称,并选择删除用户。

我想在这里包含另一个选项,一种单击按钮以使指定用户成为子地址的方法。点击此按钮后,管理员应该能够将其他用户分配给此子地址,以便他们可以像上述部分一样监视它们。我认为这需要一些新的部分,但我不完全确定它会如何工作。有人对这个有经验么?

回答

1

您需要创建一个模型说Rolehas_many用户和你喜欢Userbelongs_toRole或任何关系。 您可能在那里有不同的roles .. 然后,您可以根据他们的角色设计您自己的或者您宝贵的宝石来管理那里的辅助功能/能力。 cancancan

然后,在您的视图中,您可以提供可用roles的下拉列表并更改submitrole_id