2010-10-07 52 views
12

我在Rails 3应用程序中实现了Devise,我需要管理员用户才能管理用户。用户不可注册,因此管理员必须创建帐户。什么是最好的方式去做这件事?使用Rails 3和Devise管理用户帐户

当Devise已经提供Devise::RegistrationController但我没有看到任何其他选项时,创建我自己的UsersController似乎不太干。

回答

13

我选择创建我自己的UsersController沿着RegistrationController一边。为管理目的设置自己的RESTful控制器真的很有意义。管理用户记录和维护与它们相关的管理字段不是设计人员的工作。毕竟,它是一个认证框架。让它做它设计的东西似乎是正确的。出于某种原因,您需要创建自己的用户模型。

2

您可以重写RegistrationController以提供所需的功能。检查从这里的第一个答案: Override devise registrations controller

+0

还没有测试过这个,但是你可以重写RegistrationController并简单地在其中放入一个before_filter来确保管理员发出请求。 – pushmatrix 2010-10-08 01:22:17

+0

我现在实际上有我自己的注册控制器来进行授权。我的问题是,当作为另一个用户调用sign_up时,您立即以该用户的身份登录(例如它是用户注册)。如果我要创建所有自己的方法,我想我宁愿拥有自己的UsersController – 2010-10-08 12:30:25

相关问题