2016-11-29 9 views
0

Ich habe ein Modell "Benutzer", das bis jetzt keine Probleme hatte. Ich fügte einige Validierungen hinzu und bemerkte, dass ich keine neuen Benutzer mehr hinzufügen konnte - der Datensatz wurde zurückgesetzt. Also entfernte ich die Validierungen, aber meine Aufzeichnungen wurden immer noch zurückgesetzt. So eliminiert ich buchstäblich den gesamten Code aus meiner Modelldatei so alles enthält, ist dies:Datensatzerstellung wird ohne Erklärung zurückgesetzt

class User < ActiveRecord::Base 
end 

aber ich bin immer noch die gleichen Fehler.

In meiner Schienen Konsole:

> User.create(name: "test") 
    (0.6ms) BEGIN 
    (2.3ms) ROLLBACK 
#=> #<User id: nil, name: "test", (et cetera)> 

Ich weiß nicht einmal, wie ich anfangen, herauszufinden, was falsch ist. Wie kann ich das überhaupt debuggen? Alle meine anderen Modelle arbeiten normal.

Dies ist, was ich hinzugefügt, bevor diese begonnen:

blacklist = ['home'].freeze 
validates :name, exclusion: {in: blacklist} 

GELöST:

I integriert Devise mit diesem Modell, so gab es einige Validierungen an Ort und Stelle, die nicht in meiner Devise war. RB-Datei. Ich musste @user.errors ausführen, um die Fehler zurückzubekommen, die das Speichern des Datensatzes verhinderten.

+0

versuchen, dieses 'User.create (Name: "test")!' –

+0

Sie können jederzeit überprüfen, ob der Datensatz gültig ist oder nicht mit '.Gültig' und '.errors? 'wird Ihnen die Fehler zurückgeben –

Antwort

1

Versuchen Sie folgendes:

user = User.new(name: "test") 
user.save 

user.errors # This should contain the errors that prevented your object from being saved. 
Verwandte Themen