我无法使用RESTful路由执行更新

时间:2014-11-05 14:27:44

标签: php symfony restful-url restful-architecture

我正在使用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页面。

0 个答案:

没有答案