Userをupdateする際、password(bcrypt使用)の値を入力しなくても、updateできるように実装しました。
本来、password、password_confirmationを空のままにするとupdateできる。
passwordのみ入力しupdateを行うと、validateに引っかかりrenderされる。
のですが、パスワード確認用フォーム(password_confirmation)のみ入力しupdateを行うと、validateに引っかかることなく、redirectされてしまいます。(passwordの更新はされない)
password_confirmationのみ入力時にもvalidateにかけてrenderを行いたいのですが、allow_blankオプションを使用しているためか、スキップされてしまいます。
confirmationにもallow_blankを設定してみたのですが、validateにかかってしまい空の場合ではupdateできなくなってしまいます。
解決策はありますか? ご教授願います。
validates :password, presence: true , confirmation: true, length: { in: 6..50, message: 'は6〜50文字で記入してください'}, allow_nil: true, on: :update

回答1件
あなたの回答
tips
プレビュー