2015-09-15 48 views
2

我正在关注一个教程,我被这个问题困住了。在我正在观看的教程的视频中,代码工作得很好,但即使我完全从教程中复制了代码,我也遇到了这个错误。没有路线匹配[删除]“/todo_lists.1”

待办列表控制器

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> 

耙路线给

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

'rake routes'给你什么? – Makoto

+0

我更新了帖子,并包含耙路线的结果 – TheMansa

回答

4

使用todo_list_path代替todo_list 小号 _path :)

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

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

+0

我对Rails仍然很陌​​生,你能告诉我应该使用哪个助手吗? – TheMansa

+0

他做了,请注意'todo_list_path'中的单数列表。 –

+0

@TheMansa使用todo_list_path – Arsen