пут не поддерживается для этого маршрута - PullRequest
0 голосов
/ 21 октября 2019

Я работаю над грубым приложением, чтобы изучить laravel, и пока у меня все хорошо, кроме случаев, когда я хочу обновить пост, он дает мне этот метод пут не поддерживается для этого маршрута

@extends ('layouts.app')


@section('content')

<form action="{{route('update_blog_path',['blog'=>$blog->id])}}" method="POST">
@method('PUT')
    @csrf
<div class="form-group">
<label for="title">Title </label>
<input type="text" name="title" class="form-control" value={{$blog->title}}>
</div>
<div class="form-group">
<label for="title">Content </label>
<input type="text" name="content" class="form-control" value={{$blog->content}}>
</div>
<div class="form-group">
<button type="submit" class="btn btn-outline-primary">Edit</button>
</div>
</form>
@endsection


<?php

Route::get('/', function () {
    return view('welcome');
});
Route::name('blogs_path')->get('/blogs','BlogController@index');
Route::name('create_blog_path')->get('/blogs/create','BlogController@create');
Route::name('store_blog_path')->post('/blogs','BlogController@store');
Route::name('blogs_path1')->get('/blogs/{id}','BlogController@show');
Route::name('edit_blog_path')->get('/blogs/{id}/edit','BlogController@edit');
Route::name('update_blog_path')->put('/blogs/{id}','BlogController@updtae');

Ответы [ 2 ]

1 голос
/ 21 октября 2019

Попробуйте, пожалуйста;

@extends ('layouts.app')

@section('content')

<form action="{{ route('update_blog_path', ['blog' => $blog->id]) }}" method="POST">
    @csrf
    {{ mehod_field("PUT") }}
<div class="form-group">
<label for="title">Title </label>
<input type="text" name="title" class="form-control" value={{$blog->title}}>
</div>
<div class="form-group">
<label for="title">Content </label>
<input type="text" name="content" class="form-control" value={{$blog->content}}>
</div>
<div class="form-group">
<button type="submit" class="btn btn-outline-primary">Edit</button>
</div>
</form>
@endsection

и

Маршрут

<?php

Route::put('update_blog_path/{blog}', 'BlogController@update')->name("update_blog_path");

И ваш код неверный, термин обновления Route :: name ('update_blog_path') -> put ('/ blogs / {id}', 'BlogController @ updtae ');

изменить обновление

1 голос
/ 21 октября 2019

Похоже, в вашем файле маршрутов есть опечатка, замените

Route::name('update_blog_path')->put('/blogs/{id}','BlogController@updtae');

на

Route::name('update_blog_path')->put('/blogs/{id}','BlogController@update');

Вы ошиблись при обновлении имени метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...