2016-05-30 9 views
0

Denken Sie an die Ressourcen-Routing einer photo-Klasse zum Beispiel.Anpassen Ressource-Routing in Rails 4

Wenn ich das meine routes.rb Ich werde folgende Routen erhalten:

resources :photos 

# GET '/photos/', :to => 'photos#index' 
# GET '/photos/:photo_id/, :to => 'photos#show' 
# and so on and so on 

Nun, was ich will, ist das Wort /photos in allen Routen mit einer einfachen /p so zu ersetzen, dass ich eine kurzen URL bekommen wie /p/1 für das erste Foto. Gibt es eine Möglichkeit, einfach die resource-Linie zu ändern oder muss ich jede Route manuell hinzufügen?

Antwort

1

Dadurch werden alle Ihre Routen über :photos durch p

resources :p, :controller => "photos" 
1

machen, um zu sein prägnanter und vermeiden das Problem mit p_id, können Sie es wie folgt tun:

resources :photos, path: 'p' 

Auf diese Weise Sie Vorteile von der Lesbarkeit an Ihrem Ende (es wird Helfer wie edit_photo_path generieren, Sie werden Variablen wie photo_id im Falle einer verschachtelten Route und so weiter zugreifen) und generieren die benannten URLs y du willst es.