2014年6月24日

Rails で Validation の場合分けの方法

キータで Validation の場合分けの方法が記載されていました。

Rails - 状況によってsave時に実行するバリデーションを切り替える - Qiita


on オプションでラベルを設定できます。

その時、ラベルを :create , :update 等といったメソッド名と同じにすると、
そのメソッドが実行された時に Validation できます。

また、適当なラベル名をつけ、
@instance.save(context: :label_name)
@instance.valid?(:label_name)
とラベル名を含めて save や valid メソッドを実行すると
Validation の場合分けができます。

以外と使用頻度が高いテクニックです。