Я получаю ошибку MethodNotAllowedException
всякий раз, когда пытаюсь отправить запрос PATCH
на свой контроллер. Это происходит только на моем вложенном маршруте, все остальные маршруты, которые запускают запрос PATCH
, отлично работают.
маршруты.php:
Route::resource('customers.aircraft','AircraftController');
моя форма:
Form::model($aircraft, ['method' => 'PATCH', 'class' => 'form-horizontal', 'action' => ['AircraftController@update', $aircraft->id]])
Каждый самолет принадлежит заказчику. Мой URL-адрес выглядит так:
example.com/customers/5/aircraft/6/edit
То, что я наблюдаю в адресной строке, когда получаю сообщение об ошибке, это:
example.com/customers/6/aircraft
Я определил, что это не может быть вызвано контроллером, потому что самая первая строка в моем методе @update
— это dd($request);
, и это не так далеко. Я предполагаю, что проблема в том, что маршрут не получает информацию, необходимую для направления моего запроса, он, очевидно, берет aircraft_id
и использует его как customer_id
, но я не могу понять, как и почему.
Я пробовал это:
Form::model($aircraft, ['method' => 'PATCH', 'class' => 'form-horizontal', 'action' => ['AircraftController@update', [$customer_id, $aircraft->id]]])
Думал, что нужно отправить customer_id
, но это не сработало. Я новичок в Laravel
, поэтому я ожидаю, что это просто недостаток знаний, однако пока ничего на веб-сайтах Stackoverflow, Laravel или Laracasts не помогло мне.