J'écris une application qui a une section d'entrée de type "assistant". Pensez aux installateurs MS Windows.Créer un assistant qui fonctionne avec plusieurs ressources
Je n'arrive pas à trouver la façon la plus RESTful de le faire avec des rails. Je peux y arriver d'une manière non reposante (déjà fait pour la version 1 de l'application), mais j'essaie d'être un peu plus idiomatique cette fois-ci.
Voici la situation. J'ai un assistant en 5 étapes qui doit rassembler des informations. Les étapes 1, 2 et 4 traitent de la ressource A. L'étape 3 traite des multiples de la ressource B et doit les associer à la ressource A. L'étape 5 est juste une confirmation. J'ai donc mon resourceA_controller et mon resourceB_controller ... mais ils ne sauvegardent/mettent à jour que cette ressource. Je devine que je devrais mettre en place un wizard_controller pour chacune des étapes du processus, mais je ne suis pas sûr de savoir comment le routage devrait fonctionner.
Par exemple ...
WizardController < ApplicationController
def stepOne
@resourceA = ResourceA.new
end
def stepTwo
@resourceA = params[:id]
end
...
def stepFive
end
end
Et j'aurais mon avis être sur le point de vue StepOne:
<form action='/resourceA/new'/>
et sur l'action StepTwo
<form action='/resourceA/12345/edit'/>
etc.
Mais alors mes contrôleurs resourceA et resourceB devraient savoir comment rediriger vers l'étape appropriée dans le wizard_controller. Bavardage emmêlé!
Est-ce que je suis près de la bonne voie? Ou y a-t-il un mécanisme intégré de rails ou un plugin qui fait ce genre de chose.
C'est à peu près ce que je pensais si je n'étais pas claire. Je ne savais pas si gérer la logique de routage de mes contrôleurs était tout à fait logique. Voir quelqu'un d'autre confirmer cela est utile. – Mike