gemfile
の中の一番下に
gem 'devise'
をかく。(私はよく'device'と書いてしまうので注意が必要だ。。)
その後ターミナル上に
bundle install
と書きrails s
をするとGemの反映を開始される。サーバーが起動した際にgemが反映されるため必須。
rails g devise:install
をターミナル上でする。これはdevise専用のコマンドで設定ファイルを作成する必要があるため。deviseを追加したら、最初に1度実行しておく!!
その後は
rails g devise user
でUserモデルを作成。すると
config>routes.rb
Rails.application.routes.draw do
devise_for :users
end
と自動的に追記されルーティングする必要がなくなる。
(devise_forは、ユーザー機能に必要な複数のルーティングを一度に生成してくれるdeviseのメソッド)
db内のマイグレーションの中にはすでにデフォで
class DeviseCreateUsers < ActiveRecord::Migration[6.0]
def change
create_table :users do |t|
## Database authenticatable
t.string :email, null: false, default: ""
t.string :encrypted_password, null: false, default: ""
t.timestamps null: false
が書かれており、email とパスワードは既存で入っているため最低限の入力フォームは整っていることが分かった!!とっても便利!!
その後は忘れずターミナルでrails db:migrate
とrails s
をすることも忘れない!!
deviseにおける新しいファイルを作成する際
rails g devise:views
を書くとログイン、サインアップ画面が自動で作られる