Ошибка формы модуля 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
маршрут.