これまでに作った機能について簡単にまとめていく。
今回は、
deviseを使ったログイン機能の作成
Gemを使用しない場合はこちら
Gemの導入
gem 'devise'
bundle installの実行
deviseのインストール
$ rails g devise:install
各種設定
上記のコマンドを実行すると指示が表示される
それぞれ
- メール機能の設定
- ルートパスの設定
- フラッシュメッセージの設定
- ビューの設定
今回は、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 %>
これで作成完了