Il modello utente contiene: nome,: indirizzo email e: campi password. Tutti e 3 hanno convalide per la lunghezza. Una pagina Web di "aggiornamento account" consente all'utente di aggiornare il proprio nome e indirizzo email, ma la password non è. Quando presentate, params [: utente] èIn Rails 3, come posso saltare la convalida del campo password quando non sto tentando di aggiornare la password?
{"name"=>"Joe User", "email"=>"[email protected]"}
Nota non c'è una chiave "password", perché il modulo non contiene un tale campo di input.
Quando chiamo
@user.update_attributes(params[:user])
la convalida della password non riesce. Tuttavia, poiché non sto tentando di aggiornare la password, non voglio che la convalida della password venga eseguita su questo aggiornamento. Sono confuso perché la convalida della password è in esecuzione quando params [: utente] non contiene una chiave "password".
Nota che voglio avere una pagina web separata altrove che permetta all'utente di aggiornare la sua password. E per tale invio, la convalida della password deve essere eseguita.
Grazie.
Non deve essere in esecuzione la convalida della password e in mancanza se il campo della password è valido per primo. Dici che non stai passando la password, ma ho i miei sospetti. –