#管理者なんだけどユーザー情報編集時にpasswordのバリデーションでエラー
Userにadminカラムを追加して管理者を作りました。
ユーザー情報を編集して更新しようとした所で
よくある
has_secure_password validates :password, presence: true, length: { minimum: 6 }
このバリデーションに引っかかって更新ができず、、、
かといってバリデーション消すのはダメだし、、
管理用のgem導入するにもすでに管理者機能結構作成した後だから
なんとか使わずに行きたいな。。。
と思って検索したらon:
を使うことでバリデーションの条件を追加できるのですね。
今回は編集更新にはバリデーション掛からなくていいので
has_secure_password validates :password, presence: true, length: { minimum: 6 }, on: :create
として新規ユーザー登録の時だけバリデーション掛かるようにした所更新できるようになりました。
参考記事
https://qiita.com/Shantti-Y/items/19ea23b81f3421063fc5
https://qiita.com/kadoppe/items/061d137e6022fa099872