validationのカスタマイズ
概要
個人アプリを作成していく中で、グループ登録が突如できなくなった事象が発生しました
原因は、usersモデルに追加したバリデーションでした
(原因探るために、また一からアプリ作成し述べ4日間も費やしました。。。。)
備忘録として残します!
エラー状況
グループ登録画面
ログ
ログを見ると、paramsはきちんとデータ取得されているのに、ROLLBACKされています
エラーの内容はinvalid。
原因
悪さしているコードは、usersモデルに追記したバリデーションでした
validates :password, presence: true, length: {minimum: 8 }
パスワード7文字以下はエラーにする記述です。
恐らく、userモデルに追加したバリデーションによって、group登録時にpasswordデータも取得させる必要性が出てきた??のかな??
もし、わかる方がいれば教えてください
解決方法
usersモデルに追加したバリデーションにオプションをつけて解決しました!
validates :password, presence: true, length: {minimum: 8 },on: :create
user登録時のみにバリデーションが使用される!という意味合いです。
感想
まず、急に登録できなくなり、原因もわからない状況で、一からアプリを作成し直し原因を突き止めた事象です。。。
本当に辛かった
たった11文字のコードを追加するだけで解決しましたが、ある意味得たものは大きかったと考えています
参考
●passwordバリデーションの解決の糸口がわかりました。
https://qiita.com/noriya1217/items/f0e887f3a7b2c7f83722
●バリデーションのオプションについて参考にしました。
https://qiita.com/Shantti-Y/items/19ea23b81f3421063fc5
Author And Source
この問題について(validationのカスタマイズ), 我々は、より多くの情報をここで見つけました https://qiita.com/kazuko___3o3___/items/3ad1db10d241232c18d9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .