Rails5 respond_toで UnknownFormatを発生させない方法

Railsで開発している際、
404ページの作成だけだと respond_toを使用した場合、
指定したフォーマット以外のリクエストをすると、
ActionController::UnknownFormatのエラーが発生する。

htmlとjsonでformatを分けて開発することが多いけど
本番環境で.pngなんて良きせぬリクエストでエラー画面表示させるわけにもいかないので
このエラーを発生させない、回避する方法を書き溜めておく。

解決方法だけ先に、

広告

不明なフォーマットはすべてformat.anyで捕まえる

不明なフォーマットはformat.anyで捕まえて、text/htmlで返す等と記述しておけばよい。
デフォルトとして指定しておくイメージ。

これは

みたいに、jsonで返すなどと記述してもいい。

format.any対応前

anyを使用しないと、想定していないフォーマットリクエストでエラー発生。

format.any対応後

GIFとして認識して対応してくれている。

デフォルトの挙動として
そこそこ使う機会が多い印象。



じゃあね〜〜〜〜。