2010-06-06 3 views
1

Voici mon cas d'utilisationrails ajax redirect

J'ai un modèle de recherche avec deux actions search_set et search_show.

1 - Un utilisateur charge la page d'accueil qui contient un formulaire de recherche, rendu via un partiel (forme_recherche).

2 - L'utilisateur effectue une recherche, et la demande va à search_set, la recherche est enregistré et une redirection arrive à la page qui search_show à nouveau rend le search_form avec les préférences de recherche enregistrées. Ce formulaire de recherche est différente de celle si l'étape 1, car il est une forme à distance soumis à la même action (recherche ensemble)

3 - Maintenant, l'utilisateur effectue une autre recherche, et le formulaire de recherche est soumis via ajax à l'action search_set. La recherche est sauvegardée et exécutée et maintenant je dois présenter le résultat via des modèles rjs (correspondant à search_show). On me dit que si la demande est xhr alors je ne peux pas rediriger vers l'action search_show? Est-ce correct? Si oui, comment puis-je gérer cela?

Voici ma classe de contrôleur

http://pastie.org/993460 Merci

Répondre

0

C'est exact. Soit rendre la requête non-XHR et la rediriger comme d'habitude, ou vous pouvez essayer de rendre l'URL que vous souhaitez rediriger en tant que texte ou partie d'un objet JSON que votre requête AJAX utilise ensuite pour appeler document.location.href = [whatever] (mais cela semble hacky).

En ce moment, votre requête XHR renvoie le résultat de la redirection, et ne redirige pas réellement la page qui a fait la demande XHR.