0

Je crée une application Rails (j'aimerais savoir comment procéder dans Rails 3.1 et 3.0) sous Mac OSX 10.6. J'utilise un PagesController pour gérer la plupart des pages statiques mais je souhaite inclure un formulaire d'inscription sur la page d'accueil et une option de connexion dans une barre supérieure statique et persistante sur chaque page générée à partir de mon PagesController (accueil, contact, contact) , aide, etc.).Création d'une nouvelle session ou d'un utilisateur à partir d'une autre vue/contrôleur

J'ai un peu de mal à faire fonctionner les formulaires quand ils sont en dehors d'un contrôleur donné -> vue. Par exemple, j'ai un SessionsController, puis la vue (new.html.erb) où j'ai un formulaire qui, une fois soumis, crée une nouvelle session à des fins de connexion. Cependant, je cherche à implémenter cette même forme/fonctionnalité en dehors de SessionsController et sur les vues appartenant au PagesController (ie home.html.erb ou about.html.erb). Je voudrais faire la même chose avec la fonctionnalité d'inscription: Je voudrais avoir un formulaire d'inscription à home.html.erb et ne pas avoir à envoyer des gens à la "nouvelle" page dans le UsersController. Cela ressemble à une simple action de redirection lorsque le formulaire est soumis mais j'ai du mal à le comprendre. Quelqu'un peut-il m'indiquer la bonne direction?

Merci!

Répondre

0

Une option serait d'avoir le fichier de formulaire d'inscription (.erb) en tant que partie partielle et de l'inclure dans les contrôleurs des utilisateurs et des pages. De cette façon, votre formulaire d'inscription est portable à n'importe quel contrôleur. Et lorsque le formulaire est publié après l'enregistrement, vous pouvez rediriger l'utilisateur vers l'origine de la requête.

+0

Quel type de commande de redirection dois-je émettre? Par exemple, si quelqu'un s'est inscrit sur la page d'accueil depuis PagesController, comment est-ce que je ferais en sorte que l'action "home" dans PagesController passe les informations du formulaire à l'action appropriée dans UsersController pour créer le nouvel utilisateur? – kcurtin

+0

L'enregistrement doit toujours aller directement au contrôleur des utilisateurs. Vous pouvez gérer la redirection après cela. – thomasfedb

+0

Je vois, alors comment puis-je le configurer de sorte que l'enregistrement va directement à UsersController pour créer l'utilisateur quand il est géré par le PagesController dans la vue séparée? – kcurtin

Questions connexes