Railsのコントローラクラスのrescue_fromメソッドは、例外が発生した場合に実行するメソッドを指定できます。 コントローラーで独自のエラページをエラー内容によって切り替えたり、 APIでエラーが発生した場合に処理を共通化する場合などrescue_fromメソッドを使うとスッキリします。 ということで、APIのエラー処理の共通化を考えてみます。 各APIコントローラーのスーパークラス 各APIコントローラのスーパークラスを作成し、サブクラスで発生した例外は全てここでハンドリングします。 Api::TuleApiErrorが発生した場合、Api::ApiControllerのtule_api_errorメソッドが実行されます。 下記の例ではトークンが不正な場合は、HTTPステータスを401 Unauthorized、それ以外の場合は200 OKを返しています。 HTTPステータスは、