STERFIELD

状況によってvalidationを変える(Ruby on Rails)その2

状況によってvalidationを変える(Ruby on Rails)その2

以前、
状況によってvalidationを変える(Ruby on Rails)というブログを書き、on contextで指定するという方法を記事にしました。
今回はその続きです。

on contextという方法は、状況に応じて少し変えるという際には楽だったのですが、
validationがだんだん複雑になってくるにつれて、
かくコードの量が多くなり、煩雑になりがちです。

そこでwith_optionsを用いると綺麗にまとめて書く事ができます。

仮に下記のようなモデルがあったとします(商品モデル)。

いろいろと省略しますが、システムとして登録される商品の値段の通貨が日本円のときだけ、priceの型をintegerにしたいというvalidationがあれば下記のようにします。

のような形で書く事ができます。on contextより汎用性が高いと思います。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい