Просмотр загружается по неправильному URL

#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. Метод кэширования маршрута сводит все ваши регистрации маршрутов к одному вызову метода в кэшированном файле, повышая производительность регистрации маршрутов при регистрации сотен маршрутов.