此路由不支持DELETE方法.支持的方法:GET、HEAD



我的代码是:

settings.slade.php(刀片(:

<form method="POST" action="{{route('user.settings', $apartment->apartment_id)}}">
@method('delete')
@csrf
<button type="submit" class="btn btn-danger btn-sm">Delete</button>
</form>

UserController.php:

public function delete(Apartment $apartment)
{
$apartment->delete();
return redirect()->route('dashboards.users.index')
->withSuccess(__('Deleted successfully'));
}

web.hp:

//Authorization based on user role
Route::group(['prefix'=>'user', 'middleware'=>['isUser','auth','PreventBackHistory']], function(){
Route::get('dashboard',[UserController::class,'index'])->name('user.dashboard');
Route::delete('settings/{apartment}',[UserController::class,'delete'])->name('settings.delete');
Route::resource('settings','UserController@delete')->name('user.settings');
Route::get('profile',[UserController::class,'profile'])->name('user.profile');
Route::get('settings',[UserController::class,'settings'])->name('user.settings');
});

有人能帮忙吗?

Route::resource('settings','UserController@delete')->name('user.settings');

您正在使用资源重新路由设置。将"resource"重命名为"get">

Route::get('settings','UserController@delete')->name('user.settings');

保持相同的路线和形式。

Route::delete('settings/{apartment}',[UserController::class,'delete'])->name('settings.delete');
<form method="POST" action="{{route('settings.delete', $apartment->apartment_id)}}">
@method('delete')
@csrf
<button type="submit" class="btn btn-danger btn-sm">Delete</button>
</form>

使用路由模型绑定

Route::delete('settings/{apartment}',[UserController::class,'delete'])->name('settings.delete');

然后

<form method="POST" action="{{route('settings.delete', $apartment->apartment_id)}}">
@method('delete')
@csrf
<button type="submit" class="btn btn-danger btn-sm">Delete</button>
</form>

最新更新