2016-11-23 25 views
1

我的路線:動作URL的形式

Route::group(['prefix' => 'product'], function() { 
    Route::get('{id}', '[email protected]')->where('id', '[0-9]+'); 
    Route::post('{id}/add', '[email protected]')->where('id', '[0-9]+'); 
}); 

product/{id}頁我wan't做一個POST到product/{id]/add

但是,什麼是讓表單操作URL的最佳方式?

現在我有:

<form method="POST" action="{{ Request::url() }}/add"> 

它的工作原理,但我不喜歡它,而且必須有一個尤爲明顯的方式...

<form method="POST" action="{{ action('[email protected]') }}/add"> 

給我一個例外。 ..

缺少[Route:] [URI:product/{id}/add]所需的參數。 (查看:... /資源/視圖/產品/ product.blade.php)

回答

1

如果你不喜歡,你可以使用路線命名:

Route::post('{id}/add', '[email protected]') 
    ->name('product.add') 
    ->where('id', '[0-9]+'); 

然後:

<form method="POST" action="{{ route('product.add', $id) }}"> 

其中$id是要傳遞的元素的ID。

+0

'''$ id'''指的是參數嗎? – yooouuri

+0

我收到'''未定義的變量:id''' – yooouuri

+0

是的,它將您在路由中定義的參數稱爲'{id}' –