没有路线匹配[DELETE]" /todo_lists.1"

时间:2015-09-15 17:32:04

标签: ruby-on-rails

我正在按照教程进行操作,并且我遇到了这个问题。在我正在观看的教程视频中,代码工作正常,但即使我完全复制了教程中的代码,我也会收到此错误。

待办事项列表控制器

def destroy
  @todo_list.destroy
  respond_to do |format|
    format.html { redirect_to root_url, notice: 'Todo list was successfully destroyed.' }
    format.json { head :no_content }
  end
end

显示页面:

<p id="notice"><%= notice %></p>
<h2 class="todo_list_title"><%= @todo_list.title %></h2>
<p class="todo_list_sub_title"><%= @todo_list.description %></p>

<div id="todo_items_wrapper">
  <%= render @todo_list.todo_items %>
  <div id="form">
    <%= render "todo_items/form" %>
  </div>
</div>

<div class="links">
  <%= link_to 'Edit', edit_todo_list_path(@todo_list) %> |
  <%= link_to 'Delete', todo_lists_path(@todo_list), method: :delete, data: { confirm: "Are you sure?" } %> |
  <%= link_to 'Back', todo_lists_path %>  
</div>

Rake Routes给出

    Prefix Verb   URI Pattern                                                 Controller#Action
complete_todo_list_todo_item PATCH  /todo_lists/:todo_list_id/todo_items/:id/complete(.:format) todo_items#complete
        todo_list_todo_items GET    /todo_lists/:todo_list_id/todo_items(.:format)              todo_items#index
                             POST   /todo_lists/:todo_list_id/todo_items(.:format)              todo_items#create
     new_todo_list_todo_item GET    /todo_lists/:todo_list_id/todo_items/new(.:format)          todo_items#new
    edit_todo_list_todo_item GET    /todo_lists/:todo_list_id/todo_items/:id/edit(.:format)     todo_items#edit
         todo_list_todo_item GET    /todo_lists/:todo_list_id/todo_items/:id(.:format)          todo_items#show
                             PATCH  /todo_lists/:todo_list_id/todo_items/:id(.:format)          todo_items#update
                             PUT    /todo_lists/:todo_list_id/todo_items/:id(.:format)          todo_items#update
                             DELETE /todo_lists/:todo_list_id/todo_items/:id(.:format)          todo_items#destroy
                  todo_lists GET    /todo_lists(.:format)                                       todo_lists#index
                             POST   /todo_lists(.:format)                                       todo_lists#create
               new_todo_list GET    /todo_lists/new(.:format)                                   todo_lists#new
              edit_todo_list GET    /todo_lists/:id/edit(.:format)                              todo_lists#edit
                   todo_list GET    /todo_lists/:id(.:format)                                   todo_lists#show
                             PATCH  /todo_lists/:id(.:format)                                   todo_lists#update
                             PUT    /todo_lists/:id(.:format)                                   todo_lists#update
                             DELETE /todo_lists/:id(.:format)                                   todo_lists#destroy
                        root GET    /                                                           todo_lists#index

1 个答案:

答案 0 :(得分:5)

使用todo_list_path代替todo_list s _path:)

<%= link_to 'Delete', todo_list_path(@todo_list), method: :delete, data: { confirm: "Are you sure?" } %> |

这是一个经典错误。看看“/todo_lists.1”如果你看到这个点,你可能会使用错误的助手。