2009-01-24 14 views
1

Comment transmettre des paramètres dans une URL? J'essaie de concevoir un système de connexion similaire à celui de Twitter. Remarquez comment vous pouvez vous connecter à la page principale de www.twitter.com ou vous rendre directement sur des pages personnalisées telles que www.twitter.com/lancearmstrong et www.twitter.com/rails. C'est exactement ce dont j'ai besoin pour mon projet. Merci.Système de connexion de type Twitter (transmission des paramètres dans l'URL?)

+0

Je ne reçois aucun type de formulaire de connexion sur twitter.com/rails quand je ne suis pas connecté. parlez-vous de? –

+0

Mes excuses. Eh bien, imaginez que vous obtenez les champs de nom d'utilisateur et mot de passe ainsi que sur la page de twitter de n'importe quel utilisateur. C'est ce que je suis après. – alamodey

Répondre

8

dans config/routes.rb créer une règle comme ceci:

map.connect '/:user_name', :controller => 'login', :action => 'custom' 

ou somethjing similaire.

puis dans votre contrôleur décrochez le nom d'utilisateur avec params [: USER_NAME]

Cela devrait aller à la fin du fichier près des règles par défaut. Le système choisit la première route correspondant à l'URL entrante. donc si vous avez une règle comme:

map.connect '/foo', :controller => 'foo', :action => 'bar' 

il devra venir avant la règle de connexion. - Gardez à l'esprit que si vous faites cela, vous devrez interdire 'foo' comme nom d'utilisateur :)

+0

"alors dans votre contrôleur ramasser le nom d'utilisateur avec params [: nom_utilisateur]" Est-ce que je le ferais dans l'action "personnalisée" selon votre exemple. Dis: def coutume # faire quelque chose avec params [: user_name] fin – alamodey

+0

Oui, bon. Bien que, évidemment, il ne doit pas être appelé «personnalisé», j'ai simplement pris ce nom du mot «personnalisé» dans votre question. –