我的表单:
@if(!empty($Product) && !empty($ProductSpec))
<form action="{{route('update_product')}}" method="POST">
<div class="form-group">
<label for="product_code">Product Code</label>
<input class="form-control" name="product_code" id="product_code" type="text" placeholder="product code..." value="{{$Product->product_code}}">
</div>
@error('product_code')
<div class="alert alert-danger">{{ $message }}</div>
@enderror
<div class="form-group">
<button type="submit" class="btn btn-primary">Update information</button>
</div>
{{ csrf_field() }}
</form>
@endif
路线:
Route::resource('add_product','ProductController');
Route::get('edit_product', 'ProductController@find_product_index')->name("edit_product");
Route::post('find_product', 'ProductController@find_product')->name("find_product");
Route::post('update_product', 'ProductController@update_product')->name("update_product");
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
控制器功能:
public function update_product(Request $request)
{
$this->validate($request, [
'name' => 'required|max:120|string']);
return redirect()->route('edit_product')->with('success', 'Product Updated successfully');
}
我正在使用此代码,并收到“此路由不支持Get方法,Supported:POST”错误。 不知道我的代码有什么问题吗?起初我以为这是控制器中的MySQL语句,但是我删除了它们,但仍然遇到同样的问题。
编辑: php artisan route:列表显示-> image
答案 0 :(得分:0)
您的路线应为:
Route::put('update_product/{update_product} ', 'ProductController@update_product')->name("update_product");
您的表格应类似于: ......
{{ csrf_field() }}
@method('PUT')
</form>
答案 1 :(得分:0)
运行php artisan optimize
清除并重新配置您的缓存和路由。
清除路由还不够。