環境
M1 Mac
ruby 3.1.0
rails 6.1.4.7
DB postgresql
認証機能 Devise
やりたいこと
rails testで発生するエラーが解決したい
rails testを実行するとエラーが発生します
rb
1RuntimeError: Wrapped undumpable exception for: ActiveRecord::NotNullViolation: PG::NotNullViolation: ERROR: null value in column "name" of relation "users" violates not-null constraint 2DETAIL: Failing row contains (980190962, , , null, null, null, 2022-04-10 08:59:37.228223, 2022-04-10 08:59:37.228223, null, null, null).
usersのnameがnilとなってしまう問題が発生していることは理解できるのですが、
usersはDeviseで作成しており、そこにnameカラムを追加しています。
migrationは以下のように書きました
rb
1def change 2 add_column :users, :name, :string, null: false 3 end
validationも設定してあります
rb
1validates :name, presence: true, length: { maximum: 50 }
この状態で上記のエラーが発生する理由がわからないです。
解決方法などありましたらご教授ください
ご提示いただいた内容でだいたい推測はできるのですが、今後のためにデバッグのやり方を学んでみるのはいかがでしょうか?
https://qiita.com/terufumi1122/items/a6f9a939dce25b2d9a3e
https://www.youtube.com/watch?v=5fyrGslhUcY
ありがとうございます。
ちょうど金曜までやることがないので学習してみます!!
ぜひぜひ!前提知識としてMVCに対する理解があるていどないと何をデバッグすればよいかわからなくなるので、下記などでMVCの処理の流れをきちんと把握しておいたほうが良いかと思います。
https://qiita.com/s_tatsuki/items/66ffee4519451812a448
https://pikawaka.com/rails/mvc
ruby on rails チュートリアル完走と
PFでRailsアプリを開発した経験があります。
M DBとのやりとり
V テンプレートビューファイル
C モデルからデータを受け取ってViewに渡すなどの橋渡し
と認識しています。
丁寧にありあがとうございます。
回答1件
あなたの回答
tips
プレビュー