#laravel
#laravel
Вопрос:
У меня есть PostsController, который должен показывать страницу для загрузки изображений, но он загружается под http://127.0.0.1:8000/p enpoint, вместо того, чтобы http://127.0.0.1:8000/p/create конечная точка.
PostsController:
<?php
namespace AppHttpControllers;
use IlluminateHttpRequest;
use function SymfonyComponentStringb;
class PostsController extends Controller
{
public function create() {
return view('posts.create');
}
public function store()
{
dd(request()->all());
}
}
Маршруты:
<?php
use IlluminateSupportFacadesRoute;
use IlluminateSupportFacadesAuth;
Auth::routes();
Route::get('/p/create', [AppHttpControllersPostsController::class, 'create']);
Route::post('/p', [AppHttpControllersPostsController::class, 'store']);
Route::get('/profile/{user}', [AppHttpControllersProfilesController::class, 'index'])->name('profile.show');
create.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<form action="/p" enctype="multipart/form-data" method="post">
@csrf
<div class="row">
<div class="col-8 offset-2">
<div class="row">
<h1>Add New Post</h1>
</div>
<div class="form-group row">
<label for="caption" class="col-md-4 col-form-label">{{ __('Post Caption') }}</label>
<input id="caption"
type="text"
class="form-control @error('caption') is-invalid @enderror"
name="caption"
value="{{ old('caption') }}">
@error('caption')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<div class="row">
<label for="image" class="col-md-4 col-form-label">{{ __('Post Image') }}</label>
<input type="file" class="form-control-file" id="image" name="image">
@error('image')
<strong>{{ $message }}</strong>
@enderror
<div class="row pt-4">
<button class="btn btn-primary">Add New Post</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
@endsection
И моя файловая структура:
Я действительно не уверен, как это произошло, это сработало, затем я продолжил работать над этим проектом, а затем в какой-то момент он перестал работать. Я играл с разными именами и т. Д. Всегда одна и та же проблема.
Комментарии:
1.
php artisan route:clear
затем просмотрите списокphp artisan route:list
, надеюсь, он решит вашу проблему2. это исправлено, большое спасибо! любая ссылка, по которой я могу узнать больше об этих параметрах, кроме игры с artisan?
Ответ №1:
Ваш маршрут был кэширован. Если вы хотите очистить кэшированный файл, просто нажмите :
php artisan route:clear
Вы можете снова кэшировать свой маршрут, :
php artisan route:cache
Для получения дополнительной информации см. Официальную документацию по кэшированию маршрутов, оптимизации представлений, среде
Комментарии:
1. Метод кэширования маршрута сводит все ваши регистрации маршрутов к одному вызову метода в кэшированном файле, повышая производительность регистрации маршрутов при регистрации сотен маршрутов.