Je travaille actuellement sur plusieurs tutoriels Rails, mais tous semblent recommander qu'une soumission de formulaire échouée utilise un rendu pour générer le formulaire avec les erreurs. Par exemple, la méthode create ressemble à ceci:Conserver une URL sur une soumission de formulaire ayant échoué dans Ruby on Rails
def create
@user = User.new(params[:user])
if @user.save
flash[:success] = "Welcome to the Sample App"
redirect_to @user
else
@title = "Sign up"
render 'new'
end
end
Cela a pour effet désiré, mais signifie que si j'ai un nouveau formulaire utilisateur à http://localhost:3000/users/new et une erreur se produit, je reçois la même forme avec des erreurs à http://localhost:3000/users
Y a-t-il un moyen de s'assurer que je vais à http://localhost:3000/users/new à la place?
Je pensais utiliser une redirection au lieu de rendre "nouveau", mais cela causerait des problèmes avec l'affichage des erreurs de formulaire. Quelqu'un sur le Rails IRC m'a orienté vers une manière de faire des validations client, mais cela semble être une façon d'esquiver le problème.
Honnêtement, je ne vois pas pourquoi ce comportement est un problème. – Wukerplank
Je suis sûr que c'est juste moi, mais ça ne me semble pas juste. Scénario improbable et hypothétique, mais que se passerait-il si quelqu'un m'envoyait un e-mail disant "j'obtiens des erreurs que je ne devrais pas sur cette page:" et ensuite copié et collé l'URL? – RobL