りゅうじの学習blog

学習したことをアウトプットしていきます。

登録しているユーザーがパスワード以外の項目を更新したいとき

Modelのバリデーションにこのコードを書けば良い。

 

if: -> { new_record? || changes[:crypted_password] }

 

例えば

validates :password, length: { minimum: 3 }, if: -> { new_record? || changes[:crypted_password] }

 

最低3文字は必要である。新しい登録情報だった場合のみに適用。

 

といった意味になる。