Rails errors

Rollback-Transaktionsfehler im Devise-Modell für Rails

Ein Memo über den Umgang mit Rollback-Transaktionsfehlern im Devise-Modell für Ruby on Rails 5. Devise erfordert intern E-Mail-Adressen und Passwörter und gibt Fehler aus, wenn diese fehlen, aber diese Fehler sind nur für den Controller…

Shou Arisaka
1 Min. Lesezeit
14. Nov. 2025

Ein Memo über den Umgang mit Rollback-Transaktionsfehlern im Devise-Modell für Ruby on Rails 5.

Diese Art von Fehler tritt auf:

irb(main):006:0> User.create(username: 'yuis')
   (0.0ms)  begin transaction
   (0.0ms)  rollback transaction
=> #<User id: nil, email: "", created_at: nil, updated_at: nil, provider: nil, uid: nil, username: "yuis", disc: nil>

Ursache: Devise erfordert intern E-Mail-Adressen und Passwörter und gibt Fehler aus, wenn diese fehlen, aber diese Fehler sind nur für den Controller, sodass Fehler nicht ausgegeben werden. Sie könnten es bemerken, wenn Sie doppelte Validierung/Einschränkungen in der Datenbank haben, aber wenn nicht, ist es schwer zu bemerken.

Lösung: Geben Sie auch E-Mail-Adresse und Passwort ordnungsgemäß ein

irb(main):005:0> User.create(username: 'yuis' , email: '[email protected]' , password: "hogehoge" )
...
=> #<User id: 9, email: "[email protected]", created_at: "2018-07-06 20:51:19", updated_at: "2018-07-06 20:51:19", provider: nil, uid: nil, username: "yuis", disc: nil>

Es scheint auch eine Möglichkeit zu geben, dass das E-Mail-Adressen-Validierungs-Regex-Muster falsch ist, aber ich denke, diese Möglichkeit ist tatsächlich wahrscheinlicher.

Rollback Transaction Error - Rails - Stack Overflow

Diesen Artikel teilen

Shou Arisaka 14. Nov. 2025

🔗 Links kopieren