I often came across the same problem, the user starts say /users?order=email%20desc, chooses the user to edit and when he hits save/destroy he finds himself at /users/, very disturbing…. Another example comes from multiple controllers, when you start in /movies/3 and then, edit the user that created the movie, hit save and you resurface in /users/.
Fixing this redirecting issue was easier then i thought, and i refactored it to be a nice drop in and forget solution!
#app/application_controller.rb ... after_filter :save_last_index , :only => :index protected def redirect_to_last_index return redirect_to session[:last_index] if session[:last_index] redirect_to :action => :index end def save_last_index session[:last_index]=request.request_uri end ... #app/users_controller.rb def destroy @user = User.find(params[:id]).destroy redirect_to_last_index end
No more redirecting pain hurray 😀