Я использую компонент Symfony «HttpFoundation» и пытаюсь реализовать RESTful-маршрутизацию. Но я не могу выполнить обновление, как будто маршрут не существует, пока он существует, вот мой файл маршрутов:
TaskHome:
pattern: /tasks
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'indexAction' }
requirements:
_method: GET
TaskCreate:
pattern: /tasks/create
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'createAction' }
requirements:
_method: GET
TaskStore:
pattern: /tasks
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'storeAction' }
requirements:
_method: POST
TaskShow:
pattern: /tasks/{id}
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'showAction' }
requirements:
_method: GET
TaskEdit:
pattern: /tasks/{id}/edit
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'editAction' }
requirements:
_method: GET
TaskUpdate:
pattern: /tasks/{id}
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'updateAction' }
requirements:
_method: PUT
TaskDestroy:
pattern: /tasks/{id}
defaults: { controller: 'ModuleToDoList\Controllers\TaskController', action: 'destroyAction' }
requirements:
_method: DELETE
и вот моя форма:
<form method="post" action="{{ route('TaskUpdate', {'id': task.id}) }}">
<input type="hidden" name="_method" value="PUT">
<div class="well-inner form-horizontal">
<fieldset>
<legend>Edit a task</legend>
<div>
<label for="title">Title: </label>
<input type="text" name="title" value="{{ task.title }}">
</div>
<div>
<label for="description">Description : </label>
<input type="text" name="description" value="{{ task.description }}">
</div>
<div>
<label for="priority">Priority: </label>
<input type="text" name="priority" value="{{ task.priority }}">
</div>
<div>
<input type="submit" value="Save" class="btn btn-primary">
</div>
</fieldset>
</div>
</form>
Когда я нажимаю «Сохранить», он перенаправляет меня на страницу 404.
Задача ещё не решена.
Других решений пока нет …