Маршрут 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
Я не совсем уверен, где я ошибаюсь. Любая помощь приветствуется!