概要
個人アプリを作成していく中で、グループ登録が突如できなくなった事象が発生しました
原因は、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