convalide di Devise di default (lib/escogitare/modelli/validatable.rb):
validates_confirmation_of :password, :if => :password_required?
e di metodo:
def password_required?
!persisted? || !password.nil? || !password_confirmation.nil?
end
Abbiamo bisogno di ignorare Devise convalida della password di default. Mettere il seguente codice alla fine in modo che non venga sovrascritto da nessuna delle impostazioni di Devise.
validates_confirmation_of :password, if: :revalid
def revalid
false
end
E il vostro modello sarebbe simile a questa:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:confirmable, :timeoutable, :validatable
validates_confirmation_of :password, if: :revalid
def revalid
false
end
end
Poi rimuovere il campo password_confirmation dal modulo di registrazione.
fonte
2014-09-30 21:46:04
Cosa fai se una persona fa un refuso digitando la password in una casella? Ci sono motivi per avere una conferma sui moduli di password, e dovresti essere sicuro di rimuoverlo – Gareth
yup. vorrei rimuoverlo. per semplificare il processo di registrazione. qualche suggerimento su come disabilitarlo? –
@Gareth Tipo di risposta tardiva, ma è possibile utilizzare la reimpostazione della password dell'email se gli utenti lo scrivono in modo errato. Un sacco di persone usabilità stanno iniziando a preferire questo approccio, in quanto è più semplice per l'utente. – LandonSchropp