web-dev-qa-db-ja.com

最初の(管理者)ユーザー(CanCanとDevise)を作成する方法は?

私はRailsによって許可されていない3つのアプリで認証を行いました Tonyのチュートリアル

アプリにパブリック登録をしたくありません。管理者アカウントで新しいユーザーを作成するだけですが、管理者アカウントを手動で作成することはできません。テーブルのユーザーには、生成する必要がある暗号化されたパスワードとソルトがあるためです。 t方法を知っている:|

33
dormitkon

Railsコンソールから実行できます。コマンドラインからRailsアプリケーションのディレクトリに移動し、Rails consoleと入力します。次に、次のように入力します。ユーザーを作成するコード:

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

これにより、ユーザーオブジェクトが作成されます(デバイスリソースがUserであると想定)。これで、作成したユーザーオブジェクトを使用して、管理者権限を設定できます。

41
Braden Becker

Deviseの管理者ユーザーを作成するために、seeds.rbファイルで現在のようなもの(詳細は異なる場合があります)です。

User.new({:email => '[email protected]'、:password => 'password'、:password_confirmation => 'password'})。save 

ターミナルウィンドウでrake db:seedを使用して実行できます。

20
Mark S.

さらに、確認可能を使用していて、新しいアカウントを作成するときに確認メールの要件をスキップしたい場合は、次のようなことができます。

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

これは、作成するアカウントが信頼できるユーザー向けである場合、またはテストアカウントを作成する場合に役立ちます。

15
SnapShot