Laravel возможная проблема маршрутизации, получая 404 - PullRequest
0 голосов
/ 29 июня 2019

Маршрут Laravel, возвращающий ошибку 404. Я добавил новый маршрут и действие в свой контроллер, а предыдущий маршрут, который работал, теперь не работает. Я не совсем уверен, где я иду не так, но я работал над этим так долго, что я, вероятно, слеп к реальной проблеме.

Вот мой новый маршрут

Route::get('rental_agreements/{rentalAgreement}/generate_from_quote', 'RentalAgreementController@generateFromQuote');

Вот все мои POST-маршруты для этого контроллера:

Route::post('rental_agreements/quick_link', 'RentalAgreementController@quickLink');
Route::post('rental_agreements/{customer}/store', 'RentalAgreementController@store');
Route::post('rental_agreements/{customer}/generate', 'RentalAgreementController@generate');
Route::post('rental_agreements/{rentalAgreement}/email', 'RentalAgreementController@email');
Route::post('rental_agreements/{rentalAgreement}/store_site_contact', 'RentalAgreementController@storeSiteContact');

Новый маршрут работает нормально, маршрут, который теперь выдает ошибку 404, предназначен для магазина. Раньше у меня не было / store в конце, и оно работало нормально, но я добавил это, чтобы убедиться, что оно не конфликтует с чем-то другим.

Я не уверен, что это проблема на маршрутах, но я не уверен, где еще искать. В моем контроллере код проходит через запрос, но выдает 404, как только он возвращается к контроллеру. Если я удалю параметр запроса, он будет работать до тех пор, пока не будет сохранен ресурс.

В настоящее время, когда я запускаю код, я не получаю никаких ошибок в моем файле журнала, что странно, потому что раньше я получал.

local.ERROR: Class App \ Http \ Controllers \ RentalAgreement не существует

Я попытался очистить кэш маршрутов, выгрузить автозагрузку и почти все остальное, что я могу придумать.

Контроллер - я только показываю соответствующий код. К счастью, я не пропускаю что-то важное.

<?php

namespace App\Http\Controllers;

use App\Customer;
use App\Location;
use App\RentalAgreement;
use App\Http\Requests\RentalAgreementRequest;
use DB;
use Illuminate\Http\Request;

class RentalAgreementController extends Controller
{
    public function store(RentalAgreementRequest $rentalAgreementRequest, Customer $customer)
    {
        $rentalAgreement = RentalAgreement::create($rentalAgreementRequest->request->all());

        return redirect()->action('RentalAgreementController@edit', ['customer' => $customer, 'rentalAgreement' => $rentalAgreement])
                               ->with('alert', 'Rental agreement created.');
    }
}

Тег формы - примечание $ rentalAgreement не устанавливается в этом сценарии

<form method='POST' action="/rental_agreements/{{ isset($rentalAgreement) ? $rentalAgreement->customer->id.'/'.$rentalAgreement->id.'/update' : (isset($customer) ? $customer->id.'/store' : '') }}">

Здесь находится раздел General из вкладки Chrome Networking

URL запроса: http://localhost:8000/rental_agreements/34/store

Способ запроса: POST

Код статуса: 302 Найдено

Удаленный адрес: 127.0.0.1:8000

Политика реферера: no -rerrer-when-downgrade

Я не совсем уверен, где я ошибаюсь. Любая помощь приветствуется!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...