#devise導入メモ
deviseの導入時の流れを簡単にメモ
##流れ
- Gemのインストール
- フラッシュメッセージの追加(飛ばしてもOK)
- deviseのViewファイルのインストール
- Userモデルの作成
- Usersテーブルの作成
- ヘッダーの非表示 (飛ばしてもOK)
####1. Gemのインストール
Gemfileにdeviseのgemを追加
gem 'devise'
$ bundle install
deviseのインストール
$ rails generate devise:install
####2. フラッシュメッセージの追加(飛ばしてもOK)
<% if flash[:notice] %>
<div class="alert alert-info">
<%= flash[:notice] %>
</div>
<% end %>
<% if flash[:alert] %>
<div class="alert alert-danger">
<%= flash[:alert] %>
</div>
<% end %>
####3. deviseのViewファイルのインストール
$ rails generate devise:views
4. Userモデルの作成
$ rails g devise User
routes.rbにdeviseのルーティングが追加される
devise_for :users
####5. Usersテーブルの作成
先程モデルを作成したのでテーブルを作成
$ rails db:migrate
この時点でdeviseの導入は完了!!
サインアップかサインインページにアクセスすればページが表示されます。
####6. ヘッダーの非表示 (飛ばしてもOK)
deviseを導入するといくつかdeviseのヘルパーメソッドが使えるようになるので
その1つを使ってサインインしていないユーザーにはヘッダーを非表示にします。
ヘッダーがいくつかのページで表示されることを想定してpartial化されている場合
renderしている最後に「if current_user」を追加。
<%= render 'partial/header' if current_user %>
こうすることによって「current_user」がサインインしているかを条件式が確認してヘッダーを表示/非表示してくれます。
参考 devise系
devise公式GitHub
Rails deviseで使えるようになるヘルパーメソッド一覧
devise にusername カラムを追加し、usernameを登録できるようにする。