2010-06-21 6 views
1

J'ai une application qui permet aux utilisateurs de créer sur l'URL d'une page sur un domaine particulier.Rails route avec N nombre de paramètres

Ce que je veux réaliser est de créer l'URL ayant le nombre variable de paramètres séparés par "/". Par exemple:

www.mydomain.com/a

ww.mydomain.com/a/b

www.mydomain.com/a/b/c

et ainsi de suite. Après la racine, tout serait considéré comme des paramètres. Le résultat final j'ai besoin dans le code Rails est deux chaînes:

1. "www.mydomain.com" 2. "a" ou "a/b" ou "a/b/c" (tout ce qui est après la root)

Merci, Imran

Répondre

0

Vous devriez regarder dans les rails de guidage "Rails Routing from the Outside In ".

Je ne suis pas sûr si je reçois votre question, mais il semble que vous voulez quelque chose près de:

map.connect ':first_id/:second_id/:third_id' 
+0

Merci marcgg. Jeriko répond ci-dessus est ce que je cherchais. – Saim

4

Sons comme vous voulez un fourre-tout la route. Ajoutez la ligne suivante à votre fichier routes.rb:

map.connect '*path', :controller => 'your_controller' :action => 'your_action' 

Peu importe ce que l'URL est fourni, le chemin de la requête est capturée et délimitée par / dans un tableau. Vous pouvez y accéder via params[:path].

Puisque ceci correspondra à n'importe quelle requête, toutes les autres routes que vous avez devraient être déclarées avant celle-ci. Pour plus d'informations, consultez le document catch-all route railscast de Ryan Bates.

+0

Parfait. Ceci est exactement ce que je cherchais. Merci Jeriko. – Saim

+0

Génial. Ne pas oublier d'accepter la réponse! – Jeriko