devise
Rails5
DeviseGem

【勉強メモ】deviseを実装させる①【挫折しない!】

More than 1 year has passed since last update.

deviseって何?

・gemの1つ。gemって宝石って意味。

・ユーザー登録とログインの機能を、model(データベース?)とかview(html的な見た目)をゼロからコマンド打ったり書いたりしなくてもつくれちゃうらしい。まさに、宝石。

・deviceじゃないよdeviseだよ!!

1.gemのインストール

gemfileに「gem 'devise'」を記述

Gemfile.rb
gem 'devise'

ターミナルに記述し、読み込みをする。

$ bundle install

deviseの設定読み込みをする。

$ rails g devise:install

2.devise用のモデルを作成する。

今回のモデル名はUserにする。

$ rails g devise User

からの、マイグレーション読み込み

$ rails db:migrate

3.コントローラを作成する。

今回はpostsコントローラのindexアクションをつくる

$ rails g controller posts index

4.rootの指定をする

config/routes.rb
root "posts#index" 
#postsの中のindexアクションにアクセスせよ的な意味

devise_for :users
#deviseをインストールしたから、勝手に書いてあった

5.サーバを立ち上げる

$ rails s

6.そしたら新規登録画面とログイン画面ができていた、うぇいwww

(新規登録画面)
http://localhost:3000/users/sign_up
スクリーンショット 2017-10-08 15.31.44.png

(ログイン画面)
http://localhost:3000/users/sign_in
スクリーンショット 2017-10-08 15.31.22.png

これで新規登録画面とログイン画面は追加できた!!

emailとpasswordを保存しておくデータベースは「2.devise用のモデルを作成する。」の項目でつくってあるから、改めてつくる必要は無いということなんだね。わざわざ新規画面とログイン画面を作らなくてもいいだなんて、便利♪

8.deviseに関するページ

ログイン認証に便利!Ruby on Railsのdeviseの使い方【初心者向け】
https://techacademy.jp/magazine/7336

rails devise完全入門!結局deviseって何ができるの?
http://www.sejuku.net/blog/13378

7.だけど疑問…

emailとpasswordのデータベースはつくれた。だけど、この後でユーザ名とかプロフとか投稿コメントとか、その他もろもろをこのemailに紐付けなくてはいけないんだよね。はたして、それはどうしたらいいんだ???