3 votes

ruby on rails redirect_to(:back) ne fonctionne pas

En suivant un certain code dans le livre Agile Web Development, il y a une méthode pour rediriger vers la dernière page vue en utilisant redirect_to(:back), cependant quand je fais cela, il retourne simplement à la page sur laquelle il était.

Quelle est la meilleure façon d'obtenir le résultat souhaité ? Est-ce que je fais quelque chose de mal ? Mon code :

def update
@user = current_user
if @user.update_attributes(params[:user])
  flash[:notice] = "Successfully updated profile."
  redirect_to(:back)
else
  render :action => 'edit'
end
end

8voto

Andy Gaskell Points 15264

Je pense qu'il se comporte comme prévu :

:back - Retour à la page qui a émis la demande. Utile pour les formulaires qui sont déclenchés à partir de plusieurs endroits.

1voto

Maulin Points 913

N'est-ce pas ce qu'il est censé faire ? Vous êtes probablement sur votre page d'édition lorsque vous cliquez sur une sorte de bouton "submit" pour mettre à jour les attributs de l'utilisateur. Une fois cette mise à jour effectuée, :back vous ramène à la page d'édition (c'est la dernière page consultée). N'est-ce pas ce que vous voulez ?

Si vous voulez aller sur la page des utilisateurs, vous pouvez faire quelque chose comme ceci

redirect_to user_path(@user)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X