Top > 開発ガイド > 規約類 > アプリケーション例外
アプリケーション例外
アプリケーション例外とは、準正常扱いのエラーのこととする。 下記のような局面で発生させる類のエラーである。
- すでに他ユーザに削除されたスケジュールにアクセスした場合にユーザに「すでにスケジュールが削除されています」と通知する
- すでに他ユーザによって公開されているニュースをさらに公開承認しようとしたユーザへ「すでに公開されています」と通知をする
- クライアントサイドのバリデーションでは落としきれない不正入力への通知をする
これらについて以下のように対応すること。
- 同時削除
- 他のユーザによってすでに削除されたデータへのアクセスがあった場合には、ActiveRecord::RecordNotFoundを投げると自動的にその旨のエラーダイアログがユーザに通知される。
- find(id)で見つからない場合、上記例外が発生するため、自動的にエラーダイアログが通知される
- find(id)以外の方法で削除データへのアクセスがある場合は、個別に判定してActiveRecord::RecordNotFoundをraiseする
- 独自のアプリケーション例外メッセージ
- エラーダイアログで独自のメッセージを表示したい場合は、RubricksError::Common::AjaxErrorをraiseする。その際にメッセージを引数に渡す。
