2010-11-22 14 views
3

Ich habe ein grundlegendes Verständnis von Schienen-Routing, aber nichts zu weit fortgeschritten. Bisher habe ich die RESTful-Ressourcen-basierten Routen und einige benutzerdefinierte benannte Routen verwendet.Rails 3 Routing-Ressourcen auf einen Benutzernamen beschränkt

Ich bin jetzt fast fertig meine App und ich wollte einige schöne URLs machen.

In meiner App hat jeder Benutzer viele Seiten. Was ist der beste Weg, um die URL wie www.sitename.com/username/page_name aussehen zu lassen?

Antwort

4

Dieser Wille Weg zur Show Aktion der Seiten-Controller. Params-Hash enthält: Benutzername und: Seitenname.

Denken Sie daran, es zuletzt zu setzen, oder es wird so ziemlich alles zusammenpassen.

0

Ich bin nicht ganz sicher, was Sie diese verwenden für, aber so etwas wie dies könnte in Ihre Routen-Datei arbeiten:

resources :users do 
    get 'page_name' 
end 

Welche produzieren: users/:id/page_name

Vielleicht möchten Sie überprüfen aus der Railsguide on routing.

0

Was Sie suchen, ist ein member route (Abschnitt 2.9.1).

resources :users do 
    member do 
    get :cool_page 
    end 
end 

Wird in/Benutzer führen /: id/cool_page

+0

Wie unterscheidet sich das von meiner Antwort? – markquezada

+0

Sie haben das Mapping nicht auf ein Mitglied platziert. Wenn Sie kein Mitglied verwenden, wird// id/action nicht verwendet// user_id/action –