ウィザード形式の実装

 今日やっとログイン機能が完成したので、その過程を書いていきます。今回はウィザード形式の実装なので、それに沿って書いていきます。ウィザード形式とは対話するように順番に操作が進んでいいくインターフェースのことです。

 

f:id:natori_gorira:20200505220141p:plain

 

 まずはdeviseの導入ですが、前回書いた記事がありますので今回はその続きからになります。 

 
natori-gorira.hatenablog.com

 

 前回をやったことをざっくり説明すると

 

Gemfileに"gem devise"を追記

 

gemのインストール

$ bundle install
アプリケーション内でdeviseを使えるようにするため
$ rails g devise:install

User(devise管理下)作成
$ rails g devise user
マイグレーションを実行
$ rails db:migrate
今回は下記のカラムを入れて作成しました

f:id:natori_gorira:20200512203951p:plain

profile用のマイグレーションファイル

 

f:id:natori_gorira:20200512201220p:plain

赤色はdeviseのuserファイルに新しく追加した項目
新しく項目を追加する場合は、app/controllers/application_controller.rb
に追加した項目を記載する

f:id:natori_gorira:20200512202134p:plain

赤色はuserファイルに追加したものを追記
 
viewの作成
$ rails g devise:views users

 

controllerの作成

$ rails g devise:controllers users

 

最後にルーティングを編集

f:id:natori_gorira:20200505232243p:plain

 

前回はここまで!

 

次にviewの編集

 

f:id:natori_gorira:20200512203353p:plain

 

 

f:id:natori_gorira:20200512203403p:plain

次にモデルの設定

f:id:natori_gorira:20200512203707p:plain

user.rb

 

f:id:natori_gorira:20200512203811p:plain

profile.rb 赤色上記は都道府県で選択式にするための項目、下記は今回登録に必要な項目

 

app/controllers/users/registrations_controller.rbを編集

f:id:natori_gorira:20200512212330p:plain

 

config/routes.rbを編集

f:id:natori_gorira:20200512225351p:plain

 

 ここまでがウィザード形式を導入した時の一連の過程になります。

 deviseを使用したことでまた色々なことを学べました。sessionによる一時的な記録、Saveメソッドが適用されない時のの対処、rails cを使用したデバッグ、バリデーションとnill falseの関係について、引き続き開発を通して学んでいきたいと思います。