问题是,当我提交表单时,浏览器抛出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'
]) !!}
........
问题是什么?另一个问题是字段"密码"告诉我一个密码,任何人都可以解释我吗?
https://github.com/OfficeDev/office-js-snippet-explorer/issues/13
答案 0 :(得分:1)
您正在向获取路线发送PATCH请求:
Route::get('/profile-edit/{id}', 'Dash\\UsersController@editUser');
{!! Form::model($user, [
'method' => 'PATCH',
'url' => ['/profile-edit', $user->id],
'class' => 'form-horizontal'
]) !!}
更改从get到patch
的路线Route::patch('/profile-edit/{id}', 'Dash\\UsersController@editUser');
答案 1 :(得分:1)
尝试使用Route::put('/profile-edit/{id}'...
答案 2 :(得分:0)
解决:
Route::get('/profile-edit/{id}/edit', 'Dash\\UsersController@editUser');
Route::patch('/profile-edit/{id}', 'Dash\\UsersController@storeUpdatedUser');