Nous avons l'exigence inhabituelle d'un formulaire multi-étapes via les requêtes GET. Ainsi, au lieu de POST les formulaires, nous utilisons des requêtes GET pour passer de nouveaux paramètres à la requête. Donc, l'idée de base est qu'il y a un traitement, et une date est passée à la requête. Un formulaire en trois étapes si vous voulez.Formulaire multi-étapes utilisant des requêtes GET
- Afficher les traitements disponibles, choisissez un
- Afficher les dates disponibles (il y a la logique métier en arrière-plan qui figure ces derniers dehors)
- Choisissez un temps
L'URL passera par les états suivants
- site.com/bookings/new
- s ite.com/bookings/new/[id|name_of_treatment] (par ceci, je veux dire qu'il pourrait soit par le champ ID ou le nom du traitement)
- site.com/bookings/new/[id|nom_de_traitement]/2010-12-12/
Alors, mon itinéraire ressemble à ceci:
map.connect 'bookings/new/:massage_type/:date', :controller => :bookings, :action => :new
massage_type est synonyme de treatment_id.
Alors mon form_tag ressemble à ceci:
<% form_tag({:action => "new"}, :method => "get") do %>
Le problème que je vais avoir est que je veux juste me rendre l'URL site.com/bookings/new/[id|name_of_treatment]/ mais à la place il renvoie l'URL suivante:
http://localhost:3000/bookings/new?massage_type[treatment_id]=1&commit=actionnew
Je suppose que personne ne le sait?
Hors sujet: Les avantages sont-ils bons lors du codage du site Web pour un salon de massage? –