Я пытаюсь выяснить, почему мой маршрут создания возвращает ошибку 404, поскольку он дает мне только Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найдено) на странице,
Маршруты показа, редактирования и обновления функционируют без проблем, и представления находятся в той же папке, что и файл create.blade.php. Мой web.php, по-видимому, распознает функцию create в контроллере, а контроллер, по-видимому, распознает файл create.blade.php, по крайней мере, из системы Follow Link кода. Я также попытался очистить блейд-файл и оставить только div, extends и section, но все равно получил 404.
web.php
Route::get('/location/{location}', 'LocationController@show')->name('location.show');
Route::get('/location/create', 'LocationController@create');
Route::post('/location', 'LocationController@store');
Route::get('/location/{location}/edit', 'LocationController@edit')->name('location.edit');
Route::patch('/location/{location}', 'LocationController@update')->name('location.update');
Location.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Location extends Model
{
public function casino() {
return $this->belongsTo(Casino::class);
}
public function duties() {
return $this->hasMany(Duty::class)->orderBy('title', 'ASC');
}
}
LocationController.php
<?php
namespace App\Http\Controllers;
use App\Location;
use Illuminate\Http\Request;
class LocationController extends Controller
{
public function create() {
return view('locations.create');
}
public function store() {
$data = request()->validate([
'title' => 'required',
]);
return redirect("/casino/" . location()->casino()->id);
}
public function edit(Location $location) {
return view('locations.edit', compact('location'));
}
public function update( Request $request, Location $location) {
$data = request()->validate([
'title' => 'required'
]);
$location->title = $request->get('title');
$location->save();
return redirect("/location/{$location->id}");
}
public function show(Location $location) {
return view('locations.show', compact('location'));
}
}
create.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<form action="/location" enctype="multipart/form-data" method="POST">
@csrf
<div class="row">
<div class="col-8 offset-2">
<div class="row pt-4">
<h1>Add New Location</h1>
</div>
<div class="form-group row">
<label for="title" class="col-md-4 col-form-label">Location Title</label>
<input id="title"
type="text"
class="form-control @error('title') is-invalid @enderror"
name="title"
value="{{ old('title') }}"
required autocomplete="title"
autofocus>
@error('title')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
<div class="row pt-4">
<button class="btn btn-primary">Add New Location</button>
</div>
</div>
</div>
</form>
</div>
@endsection