Railsでdeviseの導入

deviseはログイン機能を簡単に実装できるGemのひとつです。今回は、そのdeviseの導入の方法を書いていきます。

インストール

Gemfileに以下を記述して、bundle installします。

gem 'devise'

次に、以下のコマンドを実行します。

$ rails g devise:install

Userモデルの作成

以下のコマンドを実行して、rails db:migrateするとUserモデルが作成されます。

$ rails g devise user

deviseに対応したビュー、コントローラーの作成

まずビューを作っていきます。以下のコマンドで作成されます。

$ rails g devise:views users

次にコントローラーを作ります。以下のコマンドで作成されます。

$ rails g devise:controllers users

ルーティングの設定

ルーティングは下のようにします。

devise_for :users, :controllers => {
   :registrations => 'users/registrations',
   :sessions => 'users/sessions'
  }  
resources :users, :only => [:show, :index]

ビューファイルと対応するページ

ファイルパス機能
sessions/new.html.erbログイン画面
registrations/new.html.erbユーザ登録画面
registrations/edit.html.erbプロフィール情報変更画面
passwords/new.html.erbメール送信画面(パスワード変更用)
passwords/edit.html.erbパスワード変更画面
confirmations/new.html.erbメールによる認証を行う画面
unlocks/new.html.erbアカウントのアンロック画面