I'm using the symfony component "HttpFoundation", and I'm trying to implement RESTful routing. But I can't perform an update, it's like the route does not exist while it did, here's my routes file :
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
and here's my form :
<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>
When I hit save, it redirects me to the 404 page.