Ошибка формы модуля laravel 8 Метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD

** я запутался в маршрутах и ​​в том, как указать путь. **web.php- этот маршрут находится внутри моего модуля с именем events

      <?php
    use Illuminate\Support\Facades\Route;
    Route::prefix('event')->group(function() {
        Route::get('/create', 'EventController@index');
    });
    
    Route::post('/create', 'EventController@store');

файл лезвия - у меня есть форма, которая вызывает создание

                            <form class="form-horizontal" action="../create" enctype="multipart/form-data" method="post">
                      

** метод контроллера - здесь, в магазине, я сохраняю полученные значения от пользователя и сохраняю их в базе данных **

      function store(StoreCompanyRequest $req)
    {
        //
        $req->validate([
        'name'=>'required',
        'title'=>'required',
        'description'=>'required',
        'category'=>'required',
        'sdate'=>'required',
        'edate'=>'required',
        'address_address'=>'required',
        'address_latitude'=>'required',
        'address_longitude'=>'required',
      'images' => 'required',
      'images.*' => 'mimes:jpeg,jpg,png,gif,csv,txt,pdf|max:2048'
    ]);

    abort_unless(\Gate::allows('company_create'), 403);

    if($req->hasfile('images')) {
        foreach($req->file('images') as $file)
        {
            $image_name = $file->getClientOriginalName();
            $file->move(public_path().'/uploads/', $image_name);
            $imgData[] = $image_name;
        }
        $event = new Event;
        $event->name=$req->name;
        $event->save();
        return view('/home');
    }
}

1 ответ

Попробуй использовать action="/create" в вашей форме так:

      <form class="form-horizontal" action="/create" enctype="multipart/form-data" method="post">

Я не работаю с PHP и не имею предыдущего опыта работы с Laravel, но я вижу, что вы создаете маршрут для конечной точки. С помощью вашего текущего объекта формы вы ссылаетесь на действие маршрута с относительным URL-адресом. Итак, если форма находится на странице под /path/to/form маршрута, то отправка формы приводит к вызову POST /path/to/create маршрут вместо предполагаемого (возможно) POST /create маршрут.

Другие вопросы по тегам