LoginSignup
0
0

More than 3 years have passed since last update.

devise 導入 メモ

Posted at

devise導入メモ

deviseの導入時の流れを簡単にメモ:man_tone2:

流れ

  1. Gemのインストール
  2. フラッシュメッセージの追加(飛ばしてもOK)
  3. deviseのViewファイルのインストール
  4. Userモデルの作成
  5. Usersテーブルの作成
  6. ヘッダーの非表示 (飛ばしてもOK)

参考 devise公式GitHub

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のルーティングが追加される

routes.rb
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を登録できるようにする。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0