13-09-2011, 11:59 AM
Non car il y a d'autres choses à dire sur ton code. Des mauvaises choses !!!
Tu te crois en PHP là, à tester si la requête est en POST ? Avec Rails tu devrais plutôt avoir une action pour l'affichage du formulaire et une action pour le traitement du formulaire. Pas de 2 en 1.
Le validateurs validates_presence_of valide que quand on sauvegarde l'objet et que l'attribut donné change, sa confirmation — qui n'existe effectivement qu'en mémoire — est présente et contient la même valeur.
class UsersController < ApplicationController
def register
@user = User.new
if request.post?
@user = User.new(params[:user])
if @user.valid?
...
end
end
end
end
Tu te crois en PHP là, à tester si la requête est en POST ? Avec Rails tu devrais plutôt avoir une action pour l'affichage du formulaire et une action pour le traitement du formulaire. Pas de 2 en 1.
class UsersController < ApplicationController
def create
@user = User.new(params[:user])
if @user.save
redirect_to root_path
else
render :new
end
end
def new
@user = User.new
end
end
(13-09-2011, 11:57 AM)niahoo a écrit : Par contre, juste un truc qui me parrait bizzare sur Rails là:
ActiveRecord::Base c'est une classe qui gère la couche modèle nan ? Donc User c'est un modèle. Alors c'est bizzare qu'il gère la confirmation du password et surtout qu'il en requière la présence. Car la confirmation n'est pas stocké, donc quand tu récup ton User dupuis une DB, y a pas de confirmation.
Le validateurs validates_presence_of valide que quand on sauvegarde l'objet et que l'attribut donné change, sa confirmation — qui n'existe effectivement qu'en mémoire — est présente et contient la même valeur.