Ralisのstrict validation

Active Record バリデーション - Railsガイド

使ったことなかったが、ユーザー普通にフォームからPOSTしただけでは起きえないエラーのvalidationに良さそう。 POSTされたデータが、普通にフォームをPOSTしただけじゃ起きえないような整合性の崩れ方している場合とかを検出するのに使えそう。

https://api.rubyonrails.org/classes/ActiveModel/StrictValidationFailed.html

Raised when a validation cannot be corrected by end users and are considered exceptional.

公式ドキュメントにもそう書いてあった。

メリット

  • 例外が投げられるので、エラーレポーティングツールに検知される。
    • バグだった場合に気づきやすい。
  • 明らかにおかしいデータの場合にraiseしてくれるので、後続の処理ではそういったおかしいデータを前提にしないで処理が書ける
    • つまりガード節的な使い方ができる