0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails】devise(Gem)について

Last updated at Posted at 2025-04-28

記事概要

Ruby on Railsのdevise(Gem)について、まとめる

前提

  • Ruby on Railsでアプリケーションを作成している

deviseとは

ユーザー管理機能を簡単に実装するためのGem

ビューファイル

deviseに用意されたビューファイルは、編集できない
編集したい場合は、app/views配下にビューファイルをコピーする

コントローラー

deviseに用意されたコントローラーは、編集できない
devise_parameter_sanitizerメソッドを使用することで、パラメーターの取得を可能にする

usersコントローラーを作成することで、マイページなどを作成することが可能になる
※usersコントローラーはdeviseに用意されたコントローラーではないため、編集できる

Gemのインストール手順

Gemfileの記述

手順(基本設定)

  1. deviseの設定ファイルを作成するため、下記コマンドを実行する
    % rails g devise:install
    

手順(モデル作成)

  1. Userモデルを作成するため、下記コマンドを実行する
    % rails g devise user
    
  2. routes.rbに、下記ルーティングが自動的に追記されたことを確認する
    Rails.application.routes.draw do
      devise_for :users
      # 省略
    end
    
    devise_forは、ユーザー機能に必要な複数のルーティングを一度に生成してくれるdeviseのメソッド

手順(テーブル作成)

  1. db/migrate/yyyymmddhhmmss_devise_create_users.rbが作成されていることを確認する
  2. メールアドレス・パスワードなどの基本的な項目は、既にカラムが用意されていることを確認する
  3. テーブルを編集し、マイグレーションを実行する
    こちらを参照する
  4. サインアップ画面サインイン画面などが、自動生成される

手順(ビューファイル作成)

  1. ビューファイルを編集するため、deviseに用意されたビューファイルをコピーしてapp/viewsの配下に配置する
    % rails g devise:views
    
  2. app/view/device配下にビューファイルが生成される
    画面 ビューファイル
    サインアップ画面 app/views/devise/registrations/new.html.erb
    サインイン画面 app/views/devise/sessions/new.html.erb

手順(ストロングパラメーター追加)

  1. application_controller.rbに、devise_parameter_sanitizerメソッドを追加する
    class ApplicationController < ActionController::Base
      # devise_controller = Gemのdeviseに関するコントローラー(VSCodeで目視できないが、devise_controller.rbみたいなコントローラーが複数ある)の処理
      # deviseに関するコントローラーで処理を行う場合、メソッド[configure_permitted_parameters]を事前実行する
      before_action :configure_permitted_parameters, if: :devise_controller?
    
      # 省略
    
      private
      def configure_permitted_parameters
        # 指定した処理を実行する場合、指定したキーはパラメーターとして使用できる
        devise_parameter_sanitizer.permit(:deviseの処理名, keys: [:許可するキー])
      end
    end
    

手順(コントローラー作成)

  1. usersコントローラーを作成するため、下記コマンドを実行する
    % rails g controller users
    
  2. app/controllers/users_controller.rbが作成されたことを確認する

Ruby on Railsまとめ

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?