簡體   English   中英

登錄用戶的個人資料頁面-laravel 5.2

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM