これまでに作った機能について簡単にまとめていく。
今回は、

Gemのデフォルトではないログイン機能の作成

Gem deviseを使用する場合はこちら

使用モデル

Userモデル

カラム データ型
1 name string
2 mail string
3 password_digest string

モデルの作成

mailカラムにユニーク制約を追加

マイグレーションの実行

Gemの導入

パスワードのハッシュ化を行うGem
has_secure_passwordの使用が可能になる

バリテーションの追加

validations: trueによりhas_secure_passwordのデフォルトのバリテーション
サインアップ時のpasswordの必須入力
passwordとpassword_confirmationの内容が一致することを追加

Userのルーティングの追加

Userコントローラーの設定

サインアップ画面の作成

app/views/users/new.html.erb

Session管理のルーティングの追加

sessionコントローラーの設定

ヘルパーメソッドの作成

app/helpers/sessions_helper.rb

current_userは、現在ログインしているユーザーを取得するメソッド
logged_in?は、ログインの有無を判別するメソッド

ヘルパーモジュールをインクルード

app/controllers/application_controller.rb

ログインフォームの作成

app/views/sessions/new.html.erb

ログイン・ログアウトを行うヘッダーの作成

app/views/layouts/application.html.erb

以上で作成完了