カテゴリ: Rails 更新日: 2026/02/11

Devise導入ガイド:Rails 7/8対応のインストール〜初期設定手順【保存版】

Devise導入ガイド:Rails 7/8対応のインストール〜初期設定手順【保存版】
Devise導入ガイド:Rails 7/8対応のインストール〜初期設定手順【保存版】

先生と生徒の会話形式で理解しよう

生徒

「Railsでログイン機能を作りたいんですが、何から始めればいいですか?」

先生

「RailsではDeviseという仕組みを使うと、ログインやログアウトを簡単に作れます。」

生徒

「プログラミング初心者でも使えますか?」

先生

「大丈夫です。家の鍵を付ける感覚で、順番に設定すれば動きます。」

1. RailsとDeviseの基本を知ろう

1. RailsとDeviseの基本を知ろう
1. RailsとDeviseの基本を知ろう

Railsとは、Webアプリケーションを作るための道具箱のような存在です。ログイン機能や会員登録など、よく使う機能を効率よく作れるように設計されています。RailsではMVCという考え方を使います。これは、画面、処理、データを役割ごとに分ける設計方法です。

DeviseはRails用の認証機能をまとめたライブラリです。認証とは「この人は本当に本人か」を確認する仕組みで、IDとパスワードのチェックを想像すると分かりやすいです。Deviseを使うと、ログイン、ログアウト、パスワード管理、メール確認までまとめて用意できます。

2. 開発環境を準備する

2. 開発環境を準備する
2. 開発環境を準備する

まずは開発環境を整えます。開発環境とは、アプリを作るための作業机のようなものです。Railsを動かすにはRubyという言語とBundlerという部品管理の仕組みが必要です。

RubyはRailsの心臓部分で、Bundlerは必要な部品を自動で集めてくれる係です。DeviseもBundlerを通して追加します。Node.jsやデータベースも必要ですが、ここでは「Railsが動く状態」を作れている前提で進めます。

3. Railsプロジェクトを作成する

3. Railsプロジェクトを作成する
3. Railsプロジェクトを作成する

Railsアプリはrails newという命令で作ります。これは新品のノートを一冊用意するイメージです。中には最初からたくさんのフォルダが入っています。


rails new devise_sample
cd devise_sample

この中にあるappフォルダが、実際にコードを書く場所です。設定ファイルやデータベース設定も最初から用意されているので、初心者でも迷いにくくなっています。

4. Deviseをインストールする

4. Deviseをインストールする
4. Deviseをインストールする

次にDeviseを追加します。これは家に防犯システムを取り付けるような作業です。まずGemfileという一覧表にDeviseを書きます。


gem 'devise'

その後、Bundlerでインストールします。


bundle install

インストールが終わったら、Deviseの初期設定を行います。


rails generate devise:install

これでDeviseの基本設定ファイルが作成されます。

5. ユーザーモデルを作成する

5. ユーザーモデルを作成する
5. ユーザーモデルを作成する

ユーザー情報を保存するために、ユーザーモデルを作ります。モデルとは、データを保管する箱の設計図です。


rails generate devise User

この命令で、ユーザー用のテーブルとモデルが作られます。名前、メールアドレス、暗号化されたパスワードなどが自動で用意されます。


rails db:migrate

これでデータベースにユーザー用の箱が完成します。

6. ルーティングとログイン確認

6. ルーティングとログイン確認
6. ルーティングとログイン確認

ルーティングとは、URLと処理を結びつける地図のようなものです。Deviseを入れると、ログインや登録用のURLが自動で追加されます。


Rails.application.routes.draw do
  devise_for :users
end

これだけで、ログイン画面や新規登録画面が使えるようになります。

7. コントローラでログイン必須にする

7. コントローラでログイン必須にする
7. コントローラでログイン必須にする

ログインしている人だけが見られる画面を作るには、コントローラで制限をかけます。コントローラは操作係のような存在です。


class ArticlesController < ApplicationController
  before_action :authenticate_user!

  def index
  end
end

これでログインしていない人は、自動的にログイン画面へ案内されます。

8. ビューでログイン状態を表示する

8. ビューでログイン状態を表示する
8. ビューでログイン状態を表示する

ビューは画面表示を担当します。Deviseではログイン中かどうかを簡単に確認できます。


<% if user_signed_in? %>
  <p>ログイン中です</p>
<% else %>
  <p>ログインしていません</p>
<% end %>

これで画面に応じた表示を切り替えられます。

9. Deviseを使うメリットと注意点

9. Deviseを使うメリットと注意点
9. Deviseを使うメリットと注意点

Deviseを使う最大のメリットは、安全な認証機能を短時間で導入できる点です。パスワードは自動で暗号化され、メール確認機能も簡単に追加できます。

一方で、自動生成されるファイルが多いため、最初は戸惑うかもしれません。しかし「鍵付きの家が最初から完成している」と考えると安心です。

カテゴリの一覧へ
新着記事
New1
Ruby
“すべてはオブジェクト”を体感!初心者向けRubyのオブジェクト指向入門【irbで学ぶ】
New2
Ruby
Rubyの標準入出力を完全ガイド!puts・print・pの違いとデバッグ活用法
New3
Ruby
Gemとは?RubyGemsとBundlerを初心者向けに完全解説!依存関係管理も図解でわかりやすく理解
New4
Ruby
Rubyの文字エンコーディング入門!UTF-8・マジックコメント・外部/内部エンコーディングを完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
Rubyのreduceとinject入門!合計計算や集計を初心者向けに分かりやすく解説
No.2
Java&Spring記事人気No2
Ruby
Rubyの文字列エンコーディング完全ガイド!Encoding・force_encoding・encodeを初心者向け解説
No.3
Java&Spring記事人気No3
Ruby
Rubyの始め方ガイド:インストールから最初のHello Worldまで(Windows/Mac/Linux)
No.4
Java&Spring記事人気No4
データベース
PostgreSQLのWHERE句を徹底解説!初心者でもわかるSQLデータ抽出の基本
No.5
Java&Spring記事人気No5
Ruby
Rubyのfind/detect/find_indexを徹底解説!目的のデータを素早く探す方法
No.6
Java&Spring記事人気No6
Ruby
Rubyで比較演算子を完全解説!==・===・<=>・eql? の使い分け
No.7
Java&Spring記事人気No7
Ruby
Rubyのselect/reject/filterの使い方を完全解説!初心者向けの条件抽出レシピ
No.8
Java&Spring記事人気No8
データベース
PostgreSQLで順位付け!ROW_NUMBER関数の使い方を初心者向けに徹底解説