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

deviseを使ったログイン機能の作成

Gemを使用しない場合はこちら

Gemの導入

gem 'devise'

bundle installの実行

deviseのインストール

$ rails g devise:install

各種設定

上記のコマンドを実行すると指示が表示される
それぞれ

  1. メール機能の設定
  2. ルートパスの設定
  3. フラッシュメッセージの設定
  4. ビューの設定

今回は、session管理のみ作成しメール認証機能を加えないため1をスキップする

2,ルートパスの設定
root to:"blogs#index"

ログイン後ここにリダイレクトする

3・4,フラッシュメッセージの設定・ビューの設定

deviseのデフォルトビューを作成する(フラッシュメッセージもこの時作成される)

rails g devise:views

モデルの作成

rails g devise user

rails db:migrateの実行
デフォルトの設定のままだとemailカラム,パスワード関連カラムを持つuserが作成される
(バージョン4.7.1現在)

ビューの編集

app/views/layouts/application.html.erb

<% if user_signed_in? %>
  <%= link_to 'ログアウト', destroy_user_session_path, method: :delete %>
<% else %>
  <%= link_to 'ログイン', new_user_session_path %>
  <%= link_to 'サインアップ', new_user_registration_path %>
<% end %>

これで作成完了