Mein Benutzermodell enthält: Name,: E-Mail und: Passwortfelder. Alle 3 haben eine Gültigkeitsprüfung für die Länge. Eine "update account" -Webseite ermöglicht dem Benutzer, seinen Namen und seine E-Mail-Adresse zu aktualisieren, aber nicht Passwort. Das übermittelte params [: user]Wie kann ich in Rails 3 die Validierung des Passwortfelds überspringen, wenn ich nicht versuche, das Passwort zu aktualisieren?
{"name"=>"Joe User", "email"=>"[email protected]"}
Hinweis gibt es keine „Passwort“ Schlüssel ist, weil die Form nicht so ein Eingabefeld enthält.
Als ich
@user.update_attributes(params[:user])
die Kennwortüberprüfung aufrufen fehlschlägt. Da ich jedoch nicht versuche, das Kennwort zu aktualisieren, möchte ich nicht, dass die Kennwortüberprüfung mit diesem Update ausgeführt wird. Ich bin verwirrt, warum die Passwort-Validierung läuft, wenn params [: user] keinen "password" Schlüssel enthält.
Beachten Sie, dass ich eine separate Webseite an anderer Stelle haben möchte, die es dem Benutzer ermöglicht, sein Kennwort zu aktualisieren. Und für diese Einreichung sollte die Passwort-Validierung laufen.
Vielen Dank.
Es sollte nicht die Passwort-Validierung laufen und es fehlschlagen, wenn das Passwort-Feld zuerst gültig ist. Du sagst, du gibst das Passwort nicht ein, aber ich habe meinen Verdacht, dass du es warst. –