2010-10-07 2 views
12

J'ai implémenté l'application Devise in a Rails 3 et j'ai besoin d'utilisateurs admin pour pouvoir gérer les utilisateurs. Les utilisateurs ne sont pas enregistrables et un administrateur doit donc créer des comptes. Quel serait le meilleur moyen d'y parvenir?Gestion des comptes utilisateur avec Rails 3 et Devise

Il ne semble pas très DRY de créer mon propre UsersController lorsque Devise fournit déjà Devise::RegistrationController mais je ne vois pas d'autres options.

Répondre

13

J'ai choisi de créer mon propre UsersController le long du côté du RegistrationController. Il est vraiment logique d'avoir mon propre contrôleur RESTful à des fins d'administration. Ce n'est pas le travail de concevoir pour gérer les dossiers des utilisateurs et maintenir les champs administratifs qui leur sont associés. C'est, après tout, un cadre d'authentification. Il semble juste de le laisser faire ce pour quoi il est conçu. Vous devez créer votre propre modèle d'utilisateur pour une raison.

2

Vous pouvez remplacer le RegistrationController pour fournir la fonctionnalité dont vous avez besoin. Vérifiez la première réponse d'ici: Override devise registrations controller

+0

N'avez pas testé cela, mais vous pouvez substituer le RegistrationController et simplement y mettre un before_filter qui s'assure qu'un admin fait la demande. – pushmatrix

+0

J'ai actuellement mon propre contrôleur d'enregistrement en ce moment pour l'autorisation. Mon problème est que lorsque vous appelez sign_up en tant qu'autre utilisateur, vous êtes immédiatement connecté en tant qu'utilisateur (comme s'il s'agissait d'un enregistrement d'utilisateur). Si je vais de toute façon créer toutes mes propres méthodes, je pense que je préférerais avoir mon propre UsersController –

Questions connexes