2010-11-28 13 views
3

Ich habe eine Webanwendung, an der ich mit Rails 3 arbeite, und ich habe gerade einige grundlegende Vanity-URL-Pfade zu vorhandenen Ressourcen in der Anwendung implementiert. Was ich zu tun suche, ist nicht müssen explizit die URLs auf der Profilseite des Benutzers für die Ressourcen, die verfügbar sind, z. Ich möchte in der Lage sein, eine URL mit link_to im Format in der Ansicht zu bauen:Was ist der beste Weg, mit Vanity-URL-Helfern in Rails 3 umzugehen?

typealoud.com/:user_id/:thread_id/:comment_id 

Und nicht, was die Standard-verschachtelte Ressource Helfer uns geben, so etwas wie:

typealoud.com/threads/:thread_id/comments/:comment_id 

Soll ich mache ich das selbst als URL-Helfer, oder gibt es ein bestehendes Juwel?

Antwort

3

Um dies zu tun, würde ich an der Spitze meiner Routen setzen diese:

match ':user_id/:thread_id/:id', :to => "comments#show" 

I comment_id in diesem Beispiel zu id geändert haben, weil es "The Rails Way" ist, dass der letzte Parameter id ist einfach genannt id. Es führt auch zu einem kürzeren Code.

Wenn Sie eine Routing-Helfer haben für sie die :as Option:

match ':user_id/:thread_id/:id', :to => "comments#show", :as => "comment" 

Dann können Sie verwenden comment_path/comment_url die Strecke zu gelangen, aber Sie müssen in drei Argumente, um es passieren, die jeweils Sie sind ein Objekt oder eine ID eines Objekts.

+0

Ich grabe es. Danke für alles Ryan. –

Verwandte Themen