2016-09-21 6 views
0

Weiß jemand, ob es eine Möglichkeit gibt, optionale Parameter zu einer URL für eine bestimmte Ressource hinzuzufügen? Das heißt, gegeben:Schienen Routen: optionale Parameter in findigen Routen

resources :cars 

in den Routen fiel, ich möchte das Jahr optional an das Ende der URL angehängt haben:

mysite.com/cars/coolcar/2015 
mysite.com/cars/coolcar # Both point to the same resource 

Ich weiß, dass ich mit der üblichen auskam , nicht einfalls Routen:

get 'cars/:id(/:year)' 

Aber ich würde gerne wissen, ob es eine ‚elegante‘ Art und Weise ist, es zu tun, da in meinem Fall könnte es eine Menge Routen mit optionaler params ganz braucht.

Vielen Dank im Voraus.

Antwort

1

Sie könnten

resources :cars do 
    member do 
    get ':year', to: 'cars#show' 
    end 
end 

Nicht sicher tun, wenn Sie es als eleganter würde Klasse

+0

Durch elegant obwohl bedeutete, dass ich weniger ausführlich. Dies wird den Trick leisten, vielen Dank. – Janko