2017-03-07 95 views
1

我實際上想要定義顯式路由。讓我放棄一個例子。區分具有可變路由的靜態路由

Route::get('/profile/{slug}', function(){...}); 

此路線用於查看用戶的個人資料。

但同樣地,我想定義 -

Route::get('/profile/edit', function(){...}); 

顯示編輯個人資料視圖。

我無法實現它,因爲它發送'編輯'作爲值到{slug}

我該如何實現這一點,同時保持同一組中的相同中間件的路由。

回答

2

嘗試按以下方式交換行。

Route::get('/profile/edit', function(){...}); 
Route::get('/profile/{slug}', function(){...}); 

首先它會檢查edit否則將被傳遞給slug

+0

哇。其實我沒有想到這會工作,但令人驚訝的是它的工作。這是怎麼回事?它是否增加了即將到來的路線的例外情況 –

+1

您的第一條路線是'/ profile/{slug}',這就是爲什麼應用程序將'/ profile/*'之後的任何內容視爲'slug'的原因。正因爲如此,你的其他路線從未被調用過。 (像'/ edit') –

+0

好的。非常感謝。 –