2011-01-16 2 views
0

Ich habe einen SettingsController, mit dem die Benutzer die Kennwörter ändern können. Ich erwarte, dass Devise die gleichen Validierungsregeln anwendet, die für Kennwörter woanders angewendet werden. In meiner Einstellungen Controller, ich den folgenden Code haben:Capture-Fehler und fehlerhafte Felder

@user.password = new_pwd 
    @user.password_confirmation = new_cnf_pwd 
    if @user.save 
     format.html { redirect_to settings_home_url } 
     format.js 
    else 
     flash[:error] = "Settings cant be saved" 
     format.html { redirect_to settings_home_url } 
     format.js 
    end 

Auf der SettingsPage, ich habe:

<%= flash[:error] %> 
<%= flash[:warning] %> 
<%= flash[:alert] %> 

In der Form, nun den flash [: error], die ich in der festgelegt haben SettingsController wird in Ordnung angezeigt. Aber ich möchte auch die Device Standardfehler wie "Passwörter stimmen nicht überein" auf dem Formular anzeigen. Auch ich möchte die fehlerhaften Felder kennzeichnen. Gibt es eine Möglichkeit, dies von einem nicht-device-Controller wie dem zu tun, den ich habe? Danke ... Ved.

Antwort