2012-04-14 17 views
0

Ich möchte einen Link zu Benutzer wie: /chicago/123-olegpasko. In meinem Helfer:Schienen 3: benutzerdefinierte Routen in routes.rb

def users_path(user) 
    "/#{if user.city; user.city.name; else; "city";end}/#{user.to_param}" 
end 

Wie kann ich eine richtige Routen erstellen?

Jetzt habe ich so etwas wie:

match 'dontknow/:id' => 'users#show', :as => :users 

Antwort

0

Die Lösung war einfach:

match ':name/:id' => 'users#show', :as => :users 
1

Schauen Sie sich die Railcasts about friendly_url

Auch bei der in Ihnen Modell routes casts

+0

Danke! Links sind nützlich, aber nicht für meine Situation :) –

+0

Entschuldigung, ich habe deine Frage nicht richtig gelesen! –

1

Einfach Fügen Sie diese Zeilen einen Blick:

def to_param 
    "#{id}-#{name.parameterize}" 
end 
+0

Danke, aber mit meinem 'to_param' ist alles Ok. Mein Problem ist in 'user.city'. Wenn ich auf Benutzerlink klicke, bekomme ich einen Routenfehler. –