Редактировать профиль не получилось : / laravel 7

Редактировать профиль не получилось : / laravel 7

26.06.2020 01:55:42 Источник

у меня есть проблема, когда я хочу отредактировать свой профиль в laravel. Когда я нажимаю кнопку Обновить профиль есть эта ошибка :
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException Метод PATCH не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD. http://127.0.0.1:8000/profile

редактировать.лезвие.РНР

@раздел ("содержание")
<div class= "контейнер">
    <div class= "row justify-content-center">
        <div class= "col-md-8">
            <div class= "card">
                <div class= "card-header">
                    Обновить Профиль
                </элемент div>

                <div class= "card-body">
                    edit') }}" >
                        @method ('patch')
                        @CSRF атак

                        <div class= "form-group row">
                            <label for= "name" class= "col-md-4 col-form-label text-md-right" > {{ __('Name')}} <label for=" name " class="col-md-4 col-form-label text-md-right">< / label>

                            <div class= "col-md-6">
                                <input id= "name" type=" text"class=" form-control @error('name') is-invalid @enderror " name=" name "value=" {{ old ('name', $user - >name) }} "autocomplete=" name " autofocus<input id=" name "type= "text"class=" form-control @error('name') is-invalid @enderror " name=" name "value=" {{ old ('name', $user->>

                                @error ('имя')
                                    <span class=" invalid-feedback "role= "alert">
                                        <strong>{{ $message }}<strong>< / strong>
                                    </span>
                                @enderror
                            </элемент div>
                        </элемент div>

                        <div class= "form-group row">
                            <label for= "pseudo" class= "col-md-4 col-form-label text-md-right" > {{ __('pseudo') }}<label for=" pseudo "class=" col-md-4 col-form-label text-md-right">< / label>

                            <div class= "col-md-6">
                                <input id="pseudo" type="text" class="form-control @error('pseudo') is-invalid @enderror" name="pseudo" value="{{ old('pseudo', $user->pseudo) }}" autocomplete="pseudo" autofocus="">

                                @error ('псевдо')
                                    <span class=" invalid-feedback "role= "alert">
                                        <strong>{{ $message }}<strong>< / strong>
                                    </span>
                                @enderror
                            </элемент div>
                        </элемент div>

                        <div class= "form-group row">
                            <label for=" email "class=" col-md-4 col-form-label text-md-right " > {{ __('адрес электронной почты') }}<label for=" email " class="col-md-4 col-form-label text-md-right">< / label>

                            <div class= "col-md-6">
                                <input id=" email " type=" email"class=" form-control @error('email') is-invalid @enderror " name=" email "value=" {{ old ('email', $user - >email)}} "autocomplete=" email " <input id=" email " type=" email"class=" form-control @error('email') is-invalid @enderror " name=" email "value=" {{ old ('email', $user->>

                                @error ('email')
                                    <span class=" invalid-feedback "role= "alert">
                                        <strong>{{ $message }}<strong>< / strong>
                                    </span>
                                @enderror
                            </элемент div>
                        </элемент div>

                        <div class= "form-group row mb-0">
                            <div class= "col-md-6 offset-md-4">
                                <тип кнопки= "Отправить" класс= "btn btn-primary">
                                    Обновить Профиль
                                </кнопка>
                            </элемент div>
                        </элемент div>
                    </форма>
                </элемент div>
            </элемент div>
        </элемент div>
    </элемент div>
</элемент div>
@endsection

сеть.РНР

используйте подсветку\поддержку\фасады\маршрут;

/*
|--------------------------------------------------------------------------
/ Веб-Маршруты
|--------------------------------------------------------------------------
|
| Здесь вы можете зарегистрировать веб-маршруты для вашего приложения. Эти
/ маршруты загружаются RouteServiceProvider в пределах группы, которая
| содержит группу промежуточного программного обеспечения "web". А теперь сотвори что-нибудь великое!
|
*/

Маршрут:: get ('/', функция () {
    возвратный вид ("добро пожаловать");
});



Auth:: маршруты();

Маршрут::получать('/Home' и, 'HomeController@индексом')->имя ("дом");

Маршрут:: get ('/chats', 'ChatController@index') - >name ('chats');
Маршрут:: get ('/messages', 'ChatController@fetchAllMessages');
Маршрут:: get ('/messages', 'ChatController@sendMessage');

Маршрут::получать ('контакты', 'contactscontroller по@вам');
Маршрут:: get ('/conversation / {id}', 'ContactsController@getMessagesFor');
Маршрут::получать('/разговор/отправить', 'contactscontroller по@отправить');


Маршрут: групповая(['промежуточного' => 'авт'], функция () {
    Route:: get ('profile', 'ProfileController@edit') - >name('профиль.редактировать);
});

Регулятор профиля:


<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ProfileController extends Controller
{
    /**
     * Show the update profile page.
     *
     * @param  Request $request
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function edit(Request $request)
    {
        return view('profile.edit', [
            'user' => $request->user()
        ]);
    }
}

кто-то может помочь решить эту ошибку pls. Я не понимаю, в чем проблема.

code

У вопроса есть решение - Посмотреть?

Ответы - Редактировать профиль не получилось : / laravel 7 / edit profile dont worked :/ laravel 7

Является ответом!
bumperbox

26.06.2020 01:59:39

Эта строка в вашем маршруте говорит, что это только запрос GET

Route::get('profile', 'ProfileController@edit')->name('profile.edit');

В вашей форме написано method= " POST"

вы можете изменить свой маршрут на "любой", что позволит получить и отправить сообщение

Route::any('profile', 'ProfileController@edit')->name('profile.edit');
ColinMD

26.06.2020 02:12:23

Проблема заключается в вашей форме вы говорите Laravel что это запрос на исправление с этой строкой

@method('patch')

Но в ваши маршруты файл, который вы только ищете способ сделать

Route::get('profile', 'ProfileController@edit')->name('profile.edit');

Если вы отправляете как патч то вам понадобится дополнительная строка

Route::patch('profile', 'ProfileController@update');

Затем вам нужно будет создать метод обновления в вашем контроллере для обработки логики сохранения

public function update(Request $request)
    {
        // Logic to update
    }
Закрыть X