Обновление маршрута генерирует неверный URL
Это мой HTML-код лезвия
{{ Form::open(array('route' => 'restaurants.update', 'class' => 'mainInformationContrainer')) }}
<ul>
<li>
<label>Website</label>
<div class="oneInfo">
<input type="text" value="{{$restaurant->website}}" />
</div>
</li>
<li>
<input type="submit" value="Save Changes"/>
<input type="button" value="Cancle" class="cancelButton"/>
</li>
</ul>
{{ Form::close() }}
Но URL для формы: public/restaurants/%7Brestaurants%7D
Думал, у меня уже есть маршрут:
Route::resource('restaurants', 'RestaurantsController');
1 ответ
Решение
Как сказал @Mark Baker,%7B и%7D равны {и} соответственно, laravel ожидает, что вы передадите идентификатор ресурса, который хотите обновить.
Если вы видите доску с действием, вы заметите, что вам нужно передать идентификатор ресурса.
PUT/PATCH /resource/{resource} update resource.update
Вы можете использовать route
вспомогательная функция, чтобы исправить это.
{{ Form::open(array('route' => route('restaurants.update', $restaurant->id), 'class' => 'mainInformationContrainer')) }}