##初めに
####なぜこの記事を書きたかったのか
deviseを使うときのmodelの記述でわからないままにしてあったのがあったので、勉強するため記事にしたかった
####環境
・Macbook Air (Retina, 13-inch,2019)
・プロセッサ 1.6GHz デュアルコアIntel Core i5
・メモリ 8GB 2133 Mhz LPDDR3
・MacOS Big Sur バージョン 11.5.2
####記事の目次
1)deviseって?モジュールって?
2)前提条件(deviseの導入)
3)モジュールの種類
4)モジュールの追加方法
5)最後に
##deviseって?モジュールって?
####deviseについて
deviseとはgemの一種で導入することでログイン/新規登録機能が簡単に使えるようになれる!
####モジュールについて
モジュールのイメージは機能が入っている箱の名前だと思う!これを使うことで1からコードを組んで作成しなくとも自分がほしいシステムと近いものが使えるのです!
##前提条件(deviseの導入)
####(製作中:ここにリンクをはろうと思う)
##モジュールの種類(10種類)
####デフォルトで入っているもの
上記の画像のdevise後の青い文字はdeviseを導入するときにdefaultで入っている機能です。
(モジュール名:database_authenticatable)
=メールアドレスとパスワード入力のログイン機能
(モジュール名:registerable)
=サインアップ機能
(モジュール名:recoverable)
=パスワードリセット機能
(モジュール名:rememberable)
=プラウザを閉じてもログインしてくれる機能
(モジュール名:validatable)
メールアドレスとパスワードのバリデーション機能
####追加で入れれるもの
上記の画像のコメントアウトされている緑色の単語はdefault時にはないものです。
(モジュール名:confirmable)
=サインアップしたときに登録したメールを使って、userにメールアドレスを確認させることができる機能
(モジュール名:lockable)
=設定した回数分ログインが失敗されたときにアカウントをロックさせる機能
(モジュール名:timeoutable)
=一定期間アクセスがないと強制ログアウトさせる機能
(モジュール名:trackable)
=ログイン時の情報をデータベースに保存することができる機能
(モジュール名:omniauthable)
=Twitterやgoogleアカウントなどでログインが可能になる機能
##モジュールの追加方法
##1)rails g devise:installコマンドで生成したマイグレーションファイルを開く
##2)使いたいモジュールのコメントをコメントアウトする。(例としてTrackableをコメントアウトしてみる)
##3)ターミナルでrails db:migrateをする
##結果)追加されるもの
(routes)
devise_for :users
(model)
devise : Trackableが追加される
※これで、サーバーを再起動してユーザがログインすると、trackableで追加したカラムに情報が保存される。
##最後に
modelに書いてあったdevise :ooooを覚えなくともログイン/新規登録機能が使えてたのでスルーしていましたが、deviseで使える機能がまだあることがしれて開発の幅が広がったので言語化してよかったと思った!実際に他のモジュールも使い始めたらまた記事に書こうと思いますb
ココまで読んでくださいましてありがとうございました!