2016-12-28 62 views
1

我試圖讓更多的語義網址,如下所示: -如何處理類似的網址,在軌道4,5明確

//with one params 
    get 'location/:location' => 'home#show_by_location', as: :show_by_location 
    //with two params 
    get ':location/:name/' => 'home#show_details' , as: :show_details 

他們幾乎是相似的,但他們沒有工作的第二個URL永遠不會被稱爲軌道覺得他們是相同的,因此只打電話第一個(如預期)。 那麼我怎麼能不同地對待他們兩個

在此先感謝。

回答

1

交換的順序並使用constraint告訴軌是:location不能串'location'

get ':location/:name/' => 'home#show_details', constraints: { location: /^(location)/ }, as: :show_details 
get 'location/:location' => 'home#show_by_location', as: :show_by_location