deviseの導入
ウィザード形式でdeviseをアプリに実装するために行った事をメモ
ウィザード形式とは?
ウィザード形式とは、利用者に一つずつ質問や設定項目を提示し、対話的に処理を進める操作方式のことを指します。コンピューターからの質問に答えながら、設定や登録を行うようなイメージです。
今、作っているものだとこんな感じです。
次は"電話番号認証"へと順々に入力できるようにしていく
deviseとは?
Rubyのgemで、導入するだけでログイン機能の実装を勝手に構築するというgemです。
※gemについては後日また書きます。
手順はまずGemfileに"gem devise"を追記
gemをインストールするため次のコマンドを実行
$ bundle install
アプリケーション内でdeviseを使えるようにするため、下記のコマンドを実行します。
$ rails g devise:install
#User(devise管理下)作成
$ rails g devise user
このようなファイルが自動的に作られます。
下記はUserモデル
下記はマイグレーションファイル
マイグレーションを実行
$ rails db:migrate
次にviewの作成
$ rails g devise:views users
下記のファイルが作られます
今回はウィザードでファイルを追記していくので、ファイルの意味も説明
ファイルパス | 機能 |
---|---|
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 | アカウントのアンロック画面 |
今回は、devise管理下のuserモデルを使用しているため、controllerもdeviseの管理下に作成しますので、次を実行。
$ rails g devise:controllers users
最後にルーティングを編集、routes.rbに以下の記述を追加。
最低限ログインするためのページが出来ました。
下記はログインページです。
今回は "gemの導入" から "ログインページ" までを書きました。続きはまた後日書きます!