カテゴリ: Rails 更新日: 2025/12/26

RailsのエラーハンドリングUI入門!初心者でもわかる404・422・500カスタムページの作り方

エラーハンドリングUI:404/422/500カスタムページを作る
エラーハンドリングUI:404/422/500カスタムページを作る

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

生徒

「Railsでエラー画面ってどうやって作るんですか?よく404とか500って表示されるページのことです。」

先生

「Railsでは404・422・500といったエラーページを自由にデザインできます。ユーザーにとって分かりやすいエラーページを作ることはすごく大切なんですよ。」

生徒

「エラーって難しそうですが、初心者でもカスタムページって作れるんですか?」

先生

「大丈夫です。基本的なファイルを用意してRailsの設定を少し変更するだけで、誰でも自分だけのエラーページを作れますよ。では順番に説明していきましょう。」

1. Railsのエラーページとは?初心者でもわかる基本知識

1. Railsのエラーページとは?初心者でもわかる基本知識
1. Railsのエラーページとは?初心者でもわかる基本知識

Railsには、エラーが発生したときにユーザーへ表示される標準のエラーページがあります。代表的なものは次の3つです。

  • 404 Not Found:ページが存在しないとき
  • 422 Unprocessable Entity:送信データに不備があるとき
  • 500 Internal Server Error:サーバー内で予期しないエラーが起きたとき

デフォルトのエラーページは非常にシンプルですが、サービスの印象を大きく左右するため、独自デザインにすることが多いです。例えば「ご迷惑をおかけしています」「トップページに戻るボタンを表示する」など、ユーザーに優しい導線を作ることができます。

2. エラーページをカスタムする準備:publicフォルダの役割

2. エラーページをカスタムする準備:publicフォルダの役割
2. エラーページをカスタムする準備:publicフォルダの役割

Railsでは、カスタムエラーページを作成するために「public」フォルダを使用します。publicフォルダはWebサーバーが直接アクセスできる静的ファイル置き場で、特殊な設定をしなくてもそのまま表示されます。

次のような名前でHTMLファイルを用意すると、Railsが自動的にエラー時にこのファイルを表示してくれます。

  • public/404.html
  • public/422.html
  • public/500.html

これらは通常のHTMLファイルなので、ERBやHamlではなく生のHTMLとして作る必要があります。ここでは、初心者でも理解しやすいように中身の例も紹介します。


<!DOCTYPE html>
<html>
  <body class="text-center p-5">
    <h1>ページが見つかりません</h1>
    <p>お探しのページは存在しないようです。</p>
    <a href="/" class="btn btn-primary">トップへ戻る</a>
  </body>
</html>

3. なぜエラーページを作る必要があるのか?初心者向けにやさしく解説

3. なぜエラーページを作る必要があるのか?初心者向けにやさしく解説
3. なぜエラーページを作る必要があるのか?初心者向けにやさしく解説

エラーページはただのエラー表示ではなく、ユーザーに安心感を与え、次の行動につなげるための大切な画面です。

初心者にもわかりやすく例えると「道に迷ったときに道案内の看板があるかどうか」の違いです。看板がなければ不安になりますが、案内があれば安心して次の場所へ進めます。Webアプリも同じで、エラーが起きてもユーザーが迷わないように適切な案内を表示します。

特にRailsアプリは、動的な画面が多く予期しないエラーが発生することもあります。そのため、404や500といったページを整えておくことで、ユーザー体験が大きく向上します。

4. エラーページに入れるべきUIのポイント

4. エラーページに入れるべきUIのポイント
4. エラーページに入れるべきUIのポイント

見た目がきれいなだけではなく、分かりやすく、迷わせない構造にすることが重要です。最低限チェックしておきたいUIのポイントをまとめます。

① 明確なエラーメッセージ

「ページが見つかりません」「サーバーエラーが発生しました」など、ユーザーが現在の状況を理解できる文章を入れます。

② 迷わない導線

トップページへのリンクや戻るボタンを配置し、次にどこへ進むべきかがわかるようにします。

③ デザインの統一感

アプリ全体のテーマカラーを使うなど、統一されたデザインにすると安心感があります。

④ 404/422/500で内容を変える

「入力に誤りがあります」「サーバーエラーです」など、エラーの種類に応じた文言を用意しておくと親切です。

5. Railsのdevelopment・productionでエラーページが違う理由

5. Railsのdevelopment・productionでエラーページが違う理由
5. Railsのdevelopment・productionでエラーページが違う理由

初心者が戸惑いやすいポイントとして、development(開発環境)ではRailsが詳細なエラー画面を表示する一方、production(本番環境)ではカスタムエラーページが表示されます。

これは安全性のためです。開発者向けのエラー情報には内部構造が含まれており、本番環境で表示してしまうとセキュリティリスクになります。そのため、本番ではpublicフォルダの静的な404・500ページが使われる仕組みになっています。

覚えておくべきポイントは「本番環境では必ずカスタムページが使われる」ということです。誤って真っ白なエラーページが表示されてしまわないよう、事前にデザインしておきましょう。

6. エラーハンドリングUIを整えることでRailsアプリはもっと使いやすくなる

6. エラーハンドリングUIを整えることでRailsアプリはもっと使いやすくなる
6. エラーハンドリングUIを整えることでRailsアプリはもっと使いやすくなる

Railsアプリでは、ページ遷移やフォーム入力、サーバー処理など多くの動作が絡むため、予期しないエラーはどうしても発生します。そこでエラーハンドリングUIを整えておくと、アプリの品質は大きく向上します。

  • ユーザーが迷わない
  • 信頼性の高いサービスに見える
  • サポート問い合わせの減少につながる

Railsのビューやテンプレート(ERB・Haml・Slim)の理解が深まると、エラーページもより自由にデザインできるようになります。エラーハンドリングUIは初心者でもすぐに取り組める改善ポイントなので、まずは404・422・500ページを作ることから始めてみましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説
No.8
Java&Spring記事人気No8
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう