2010-11-30 6 views
1

Wie kann ich nur 1 Attribut in der Datenbank aktualisieren, OHNE dass die Validierungen eingefügt werden müssen?Schienen 3: wie nur 1 Attribut zu aktualisieren?

z:

Ich habe Passwort als Präsenz = true. Wenn ich die Datenbank bearbeiten möchte, muss ich das Passwort übergeben. Ich möchte 1 Feld bearbeiten, ohne das Passwort zu übergeben.

Ich habe versucht update_attribute, merge, aber keiner funktioniert.

Danke. Donald

Edit: Auch mit der Validierung, die auf der Konsole funktioniert, setzt es immer noch das Passwort dort.

Hier ist die Validierung:

def password_validation_required? 
     encrypted_password.blank? || [email protected]? 
    end 

Und wenn ich das Formular ohne das Passwort-Feld einreichen, erhalte ich diese auf der Konsole: (es setzt auf dem verschluesseltes_passwort Feld leer)

SQL (0.3ms) UPDATE "wsps" SET "about" = 'gfg', "encrypted_password" = 'fcf538f9a588befec4ee2567754a42f05b3cd75f24919d49530426786491c3e1', "updated_at" = '2010-11-30 23:56:45.594168' WHERE ("wsps"."id" = 4) 

Vielleicht ist mein Controller nicht korrekt? Ich habe dies:

if @wsp.update_attributes(params[:wsp]) 

Meine Form:

<%= form_for(@wsp, :html => { :multipart => true }) do |f| %> 

dank

Antwort