Rails设计:管理员将如何编辑其他用户?

时间:2014-09-29 07:00:09

标签: ruby-on-rails devise

我看到了这个Rails Devise: How to access sign up page after signed in?并且它有效。现在我想知道如何允许管理员编辑一些用户。有什么投入?提前谢谢!

更新

我没有为管理员创建任何模型,因为我在User模型中迁移了admin:boolean。而且不需要cancancan。看看我如何使用管理员:

<% if current_user.admin? %>
   <!-- do something only the admin is allowed to do-->
<% else %>
   <!-- do something by user that can also be done by the admin-->
<% end %>

1 个答案:

答案 0 :(得分:2)

您必须划分两个概念:身份验证和授权。身份验证是指你的应用程序告诉:“哦,我知道这个用户,我以前见过他,因为我知道他的电子邮件。它就在这里,在我的用户表中的某个地方”。授权是授予您的用户执行某些操作或拒绝访问某些操作的权限。

设计 - 是身份验证(注册用户,sign_in / sign / out,会话,密码等)的绝佳宝石。 Devise没有授权功能。

因此,您有两种方式:1)自己的代码授权系统,或2)使用授权宝石。以下是非常适合Devise的授权宝石:来自作者的Cancantutorial