0
0

More than 1 year has passed since last update.

ユーザー登録機能の実装

Posted at

実装準備

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0