[英]Profile page for logged user - laravel 5.2
問題是,當我提交表單時,瀏覽器MethodNotAllowedHttpException in RouteCollection.php line 219:
拋出MethodNotAllowedHttpException in RouteCollection.php line 219:
我的路線
Route::group(['middleware' => ['web']], function () {
Route::resource('dash/reports', 'Dash\\ReportsController');
});
/* ruote for Admin */
Route::group(['middleware' => ['role:admin']], function () {
Route::resource('dash/categories', 'Dash\\CategoriesController');
});
Route::group(['middleware' => ['role:admin']], function () {
Route::resource('dash/roles', 'Dash\\RolesController');
});
Route::group(['middleware' => ['role:admin']], function () {
Route::resource('dash/permissions', 'Dash\\PermissionsController');
});
Route::group(['middleware' => ['role:admin']], function () {
Route::resource('dash/users', 'Dash\\UsersController');
});
/* another routes */
Route::auth();
Route::get('/profile-edit/{id}', 'Dash\\UsersController@editUser');
我的控制器:
public function editUser($id)
{
$auth = Auth::user()->id;
$user = User::findOrFail($id);
if($auth == $user->id){
return view('dash.users.update_profile', compact('user'));
}
return redirect('errors/404');
}
public function storeUpdatedUser($id, Request $request)
{
$this->validate($request, ['email' => 'required', 'name' => 'required', 'password' => 'required', 'surname' => 'required', ]);
$user = User::findOrFail($id);
$user->update($request->all());
$user->password = bcrypt($request->password);
$user->save();
Session::flash('flash_message', 'User updated!');
return redirect('/');
}
風景:
{!! Form::model($user, [
'method' => 'PATCH',
'url' => ['/profile-edit', $user->id],
'class' => 'form-horizontal'
]) !!}
........
問題出在哪兒? 另一個問題是“密碼”字段顯示給我急用的密碼,有人可以向我解釋嗎?
您正在將PATCH請求發送到獲取路線:
Route::get('/profile-edit/{id}', 'Dash\\UsersController@editUser');
{!! Form::model($user, [
'method' => 'PATCH',
'url' => ['/profile-edit', $user->id],
'class' => 'form-horizontal'
]) !!}
將路線從獲取更改為補丁
Route::patch('/profile-edit/{id}', 'Dash\\UsersController@editUser');
嘗試使用Route::put('/profile-edit/{id}'...
解決了:
Route::get('/profile-edit/{id}/edit', 'Dash\\UsersController@editUser');
Route::patch('/profile-edit/{id}', 'Dash\\UsersController@storeUpdatedUser');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.