0


0

Deux vues pour une action

Ma page d’index de personnes reçoit un paramètre appelé city_name. Si city_name est valide et sans ambiguïté, il affiche toutes les personnes de cette ville. Cependant, si le paramètre city_name correspond à plusieurs villes, je veux afficher un écran pour l’utilisateur lui disant de choisir la ville souhaitée (puis il est redirigé vers l’action d’index des personnes avec la requête non ambiguë).

Quelle est la bonne façon de procéder? Dois-je créer une action appelée Choose dans mon PeopleController et y rediriger chaque fois que city_name est ambigu?

1 Answer


1


Je pense qu’une meilleure façon de le faire est de restreindre l’utilisateur à la sélection d’une seule option à l’aide de la balise select. Cela évite un voyage serveur pour quelque chose d’aussi simple que de sélectionner une seule option. Si vous préférez le faire côté serveur pour une raison quelconque, vous affichez simplement le message flash:

flash[:notice] = "Please select only one city"

Et restez sur la même page d’index jusqu’à ce que vous n’obteniez qu’une seule ville.