Dans mon modèle User.rb, j'ai cette ligne:validates_confirmation_of Rails me empêchant de sauver un nouvel objet
validates_confirmation_of: mot de passe,: message => "Vos mots de passe doivent correspondre."
Ensuite, lorsque l'utilisateur s'inscrit, les mots de passe correspondent, tout est génial ... jusqu'à ce que je souhaite ajouter plus d'informations à l'objet utilisateur, puis sauvegarder à nouveau. Mais l'exécution de @ user.save renvoie l'erreur que mes mots de passe ne correspondent pas. Dans ma méthode de commande d'inscription, j'ai ces lignes:
@user = User.new(params[:user])
if request.post?
if [email protected]
@errors = @user.errors
else
# crucial user details:
@user.salt = [Array.new(6){rand(256).chr}.join].pack("m").chomp
@user.password = encrypted_password(@user.password, @user.salt) #hash this
if [email protected]
puts "error for some reason in signup"
puts @user.errors.inspect
end
Et après inspection, impressions @ de users.errors.inspect sur: [ "Vos mots de passe doivent correspondre"] #}. Ils l'ont fait, sinon, il n'aurait jamais passé le premier appel .save. Un conseil sur ce que je fais mal ici?
Merci pour votre aide.