【日本語表示にしたい】Railsで404エラーを簡単に変える方法【静的】

404エラーの変更方法

ネットで検索をすると、動的な404エラーの出し方などがヒットします。

コントローラーをいじったり、新しくファイルを作ったりと…正直こんなめんどくさいの?と思ったので、簡単な方法を模索していました。

正直言って、404エラーの時のこの英語のページが日本語であればいい!って人も少なくないと思います(少なくとも私はそうです。)

なので、今回は、英語表記の404エラーを日本語表記の404エラーにしてみたいと思います。

やり方

正直簡単です。

アプリファイル/public/404.htmlを書き換えるだけです。(422・500エラーも同様)

注意すべきなのが、拡張子が「.html」という点です。「.erb」はついていません。つまり、Rubyは使えないので、いわゆる動的なページは作れません

試しに、404.htmlをこのように書き換えてみました。

<!DOCTYPE html>
<html>
<head>
  <title>The page you were looking for doesn't exist (404)</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
</head>

<body class="rails-default-error-page">
  <!-- This file lives in public/404.html -->
  <div class="dialog">
    <div>
      <h1>お探しのページは見つかりませんでした(404)</h1>
      <p>ご指定のURLの再度ご確認ください</p>
    </div>
    <p>トップページへは<a href="/">こちら</a>より戻れます</p>
  </div>
</body>
</html>

(一部CSS部分を省略しています)

するとエラーページは、

こんな感じになりました。

CSSをRailsの規定のをそのまま使ったので違和感がすごいですが、Rubyを使わない範囲で、ほかのページとデザインを合わせれば違和感なく404エラーを出せると思います。

404とか422、500エラーに表示する文言は、有名なサービスとかを参考にするといいと思います。このQiitaの記事にまとめられているので見てみるといいかもしれません。

まとめ

いかがでしたでしょうか。404エラーのページにこだわる必要は全くないと思いますが、最低限英語表記を日本語にしておくなどしておくと良いかもしれません。

書き終えてから気づいたんですけど、「ご指定のURLの再度ご確認ください」って日本語めちゃくちゃだな。いや気づいたんなら修正しろや

参考

[RAILS]404/500などのエラーページって結局どうすればいいの?