実装準備
Gemfileの最後の行に記載する
gem 'devise'
Gemをインストールする(ターミナル)
bundle install
サーバーを起動する(反映するタイミングがサーバー起動時)(ターミナル)
rails s
追加したdeviseというGemの「設定関連に使用するファイル」を自動で生成する(ターミナル)
rails g devise:install
deviseのUserモデルを作成する(ターミナル)
rails g devise user
routes.rbに以下のルーティングが自動的に追記されているかを確認する。
devise_for :users
テーブルの作成
下記ファイルが作成されている
db/migrate/20XXXXXXXXX_devise_create_users.rb
どのようなテーブルを作るか確認&追記をする。
マイグレーションの実行
rails db:migrate
(Sequel Proでusersテーブルを確認)
一度ローカルサーバーを再起動する
rails s
deviseのビューファイルの作成
rails g devise:views
編集をする
「※サインアップ画面はapp/views/devise/registrations/new.html.erb、
ログイン画面のビューはapp/views/devise/sessions/new.html.erbというビューファイルが対応しています。」
maxlengthオプション
(文字数規制)をつけ、入力フォームに追記する(○○はカラム名)
<div class="field">
<%= f.label :○○○○ %> <em>(6 characters maximum)</em><br />
<%= f.text_field :○○○○, autofocus: true, maxlength: "6" %>
</div>
※ ↑のautofocus: true,
を入れるとそこの入力欄が入力待ちになった状態でページが開かれる。。
コントローラーの編集
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:○○○○])
end