読者です 読者をやめる 読者になる 読者になる

Webサービスを作って潰すのが趣味な人のブログ

とりあえず作ってから怒られよう

【Rails3.x】404/500/503ページをカスタマイズする方法

http://www.flickr.com/photos/63934584@N00/7323349248

photo by Kim Bach

「404ページやエラー発生時の500ページをカスタムしたい」

よくある要望ですね。自分のサイトでもやってるんですが、毎回忘れて調べ直すので忘れないようにメモしておきます

 

404エラーをアプリケーションでキャッチする

デフォルトでは404エラーをサーバーに任せるようになっています(多分)ココらへんはバージョンによって違うようなので古いバージョンを使ってる人はぐぐってみてください。

これをRails側で返す設定を「config/application.rb」あたりに書いてあげてください

gista363f976864fdb3fe7b2

古いバージョンの人もこれを書くと何か悪さをするわけでもないので「とりあえず書いとく」でいいかもしれません

 

ルートで引っ掛ける

次は404や500に対応するroutesを設定してやります。「config/routes.rb」の末尾にでも書き込んでやってください。

gistea2e6767c0b23e94947e

これで404エラーなどが発生した時に該当のコントローラーが叩かれるようになります。簡単ですね

 

まとめ 

独創的な404ページはおしゃれでいいですよね。昔運営していたサイトの404ページはこんな感じでした

f:id:vu2:20150622065705j:plain

……特にオチが思いつかなかったので今回はオチなしで