web-dev-qa-db-fra.com

Comment créer le premier utilisateur (Admin) (CanCan et Devise)?

J'ai fait l'authentification dans mon Rails 3 mise en jachère par tutoriel de Tony

Je ne veux pas d'inscriptions publiques sur mon application, juste pour créer de nouveaux utilisateurs avec un compte administrateur, mais je ne peux pas créer de compte administrateur manuellement, car dans le tableau Utilisateurs, il y a un mot de passe et du sel cryptés qui doivent être générés, et je ne le fais pas '' t savoir comment: |

33
dormitkon

Vous pouvez le faire à partir de la console Rails. À partir de la ligne de commande, accédez au répertoire de votre application Rails et tapez Rails console. Saisissez ensuite le code suivant pour créer un utilisateur:

user=User.create!(:email=>'[email protected]',:username=>'test',:password=>'password')

Cela créera un objet utilisateur (en supposant que votre ressource de conception s'appelle Utilisateur). Vous pouvez maintenant utiliser l'objet utilisateur que vous venez de créer pour définir les privilèges d'administrateur.

41
Braden Becker

Je suis à jour quelque chose comme ça (vos coordonnées peuvent être différentes) dans mon fichier seeds.rb pour créer mon utilisateur administrateur pour Devise.

User.new ({: email => '[email protected]',: password => 'password',: password_confirmation => 'password'}). Enregistrer 

Vous pouvez l'exécuter en utilisant rake db:seed dans la fenêtre du terminal.

20
Mark S.

De plus, si vous utilisez confirmable et que vous souhaitez ignorer l'exigence d'un e-mail de confirmation lors de la création de nouveaux comptes, vous pouvez faire quelque chose comme ceci:

newuser = User.new({ :email => '[email protected]', 
          :password => 'password', 
          :password_confirmation => 'password'})
newuser.skip_confirmation!
newuser.save

Ceci est utile si les comptes que vous créez sont destinés à des utilisateurs de confiance ou si vous créez des comptes de test.

15
SnapShot