[Rails] Deviseでログインするまで

Deviseのインストールがまだの方はこちら

 

SPONSORED LINK

1. Userモデルをつくる

$ bundle exec rails g devise User

Deviseを使う際に必要なファイルが生成される.

生成されるモデルは,通常どおりUserモデルを作った場合と同じものなので,Userを自作したいときは別の名前にする必要がある.

テストまで一緒に生成してくれている.

2. Deviseモジュールを選択する

Deviseでは,モジュールという単位で機能を追加していく.

class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :validatable
end

デフォルトでは,

database_authenticable

registerable

recoverable

rememberable

validatable

が設定されている.

他にも

comfirmable

lockable

timeoutable

trackable

omniouthable

がある.詳しくは別記事で.

今回はデフォルトのまま実装を進める.

SPONSORED LINK

3. Migration

マイグレーションファイルが正しいことを確認したら,マイグレーション.

$ bundle exec rails db:migrate

4. railsサーバを再起動

この時点でrootにアクセスしても,undefined method devise_for と出る.これを解決するには,一度再起動する必要がある.

SPONSORED LINK

5. ユーザ登録画面にアクセス

/users/sign_up にアクセスすると,EmailとPasswordを入力する画面が表示される.適当な値を入力して,ユーザ登録してみよう.

登録すると,そのままログインできる.

ログイン画面に自動遷移する

現状では,わざわざログイン画面にアクセスしないとログインできません.

そこで,今度は自動的にログイン画面に遷移するように設定します.

class UserController < ApplicationController
  before_action :authenticate_user!

 

 


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です