2010-12-13 65 views
2

Je veux que mon application pour générer des routes comme débordement de pileStack Overflow-comme voies d'URL dans les rails 3

questions/:id/:title 

Comment puis-je faire cela dans des rails?

+0

: titre est le titre de la page généré par la vue – thatmiddleway

+1

Similaire mais pas exact, je suis sûr que vous pouvez travailler sur la logique pour obtenir votre résultat souhaité: http://stackoverflow.com/questions/4413789/how-do -i-rewrite-urls-based-on-title/4413833 # 4413833 – Brian

Répondre

0

Tout ce que vous avez toujours voulu savoir sur les itinéraires: http://guides.rubyonrails.org/routing.html

+0

J'ai lu ça. Je ne peux rien trouver là-dedans qui a vraiment répondu à ma question – thatmiddleway

+0

Jetez un coup d'oeil spécifiquement à http://guides.rubyonrails.org/routing.html#static-segments ce que vous voulez faire est de créer un itinéraire qui correspond au contrôleur et passe l'identifiant de la question et le titre en tant que paramètres. Ensuite, votre action de contrôleur saisira cette information et rendra la vue correcte. L'attribut title doit être accessible dans votre contrôleur, il ne peut pas être seulement accessible à votre vue. –

3

S'il vous plaît noter que:

http://stackoverflow.com/questions/4434266/stack-overflow-like-url-routes-in-rails-3 

http://stackoverflow.com/questions/4434266/ 

http://stackoverflow.com/questions/4434266/you-can-put-wathever-you-want-here 

sont les mêmes. Je suppose que stackoverflow ne fait que cela afin de fournir un peu de contexte si vous voyez juste le lien ici.

Ainsi, votre itinéraire serait simplement celui-ci:

http://stackoverflow.com/questions/4434266/ 

qui devrait être quelque chose comme:

http://stackoverflow.com/questions/:id 

Vous pouvez ignorer le reste de l'URL

+2

+1, c'est très bien observé. –

+0

Je l'ai réalisé, et je voulais ajouter le même contexte à url. – thatmiddleway

+1

pourquoi les gens continuent à voter pour cela? Ça ne répond même pas à ma question! Je sais qu'ils sont la même chose! – thatmiddleway