Обновление маршрута генерирует неверный 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')) }}
Другие вопросы по тегам