【发布时间】:2019-10-11 03:49:49
【问题描述】:
我正在尝试更新我的 post 表,但它一直给我一个方法错误,说我应该使用
PUT而不是GET。
问题是我正在使用PUT。我尝试多次更改@crsf 并更改@method('PUT'),包括隐藏输入。当我调用route:list 时,它表明我正在使用PUT 方法,但它仍然给我同样的错误。我不知道它可能是什么,有人知道吗?
<section id="index" class="container">
<div class="col-md-12 d-flex justify-content-center mt-5">
<article class="new-post col-md-6 py-2">
<header class="col-12 row d-flex justify-content-center">
<div class="add-header p-1">
<h2 class="m-2">Editar Post</h2>
</div>
</header>
<form method="POST" class="mt-5" action= "/edit_post/{id}" enctype="multipart/form-data">
@method('PUT')
@csrf
<div class="add-photo form-group d-flex justify-content-center p-5">
<label for="file-input">
<img src="{{ url($post->imagem) }}" alt="imagem do post">
</label>
<input id="file-input" name="imagem" type="file">
</div>
// rotinas pagina index
Route::get('/index', 'PostsController@posts');
// crud posts
Route::get('/add_post', 'PostsController@adicionandoPost');
Route::post('/add_post', 'PostsController@salvandoPost');
Route::put('/edit_post/{id}', 'PostsController@alterarPost');
Route::delete('/edit_post{id}', 'PostsController@deletarPost');
//crud usuario
Route::get('/profile/{id}', 'UserController@profile');
Route::put('/profile/{id}', 'UserController@alterarUsuario');
Route::delete('/index', 'UserController@deletarUsuario')->name('delete');
});
PostsController:
public function alterarPost($id, Request $request) {
$post = Post::findOrFail($id);
表格:
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="add-photo form-group d-flex justify-content-center p-5">
<label for="file-input">
<img src="{{ url($post->imagem) }}" alt="imagem do post">
</label>
<input id="file-input" name="imagem" type="file">
</div>
<input type="hidden" name="user_id" value="{{$post->id}}">
<div class="add-input form-group mt-2">
<input class="col-12 p-1" name="descricao" type="text" placeholder="Descrição" value="{{ $post->descricao }}">
</div>
<div class="add-input form-group">
<input class="col-12 p-1" name="tags" type="text" placeholder="Tags" value="{{ $post->tags }}">
</div>
<div class="add_photo d-flex justify-content-end p-3">
<button class="btn btn-danger m-1" type="button">Cancelar</button>
<button class="btn btn-success m-1" type="submit">Publicar</button>
</div>
</form>
【问题讨论】:
-
你试过运行
php artisan route:clear了吗? -
是的!我试过运行 route:clear 和 cache:clear,但它仍然给我同样的错误。