[英]Rails routing error 5
我是Rails的新手,并尝试不使用resources :todos
并一条一条地构建我的路线。 但是,出现以下错误:
ActiveRecord :: RecordNotFound在TodosController中#show
找不到带有'id'= id的待办事项
我的路线:
Rails.application.routes.draw do
get '/todos' => 'todos#index'
get '/todos/:id' => 'todos#show'
end
我的控制器:
class TodosController < ApplicationController
def index
@todos = Todo.all
end
def show
@todo = Todo.find(params[:id])
end
end
我的观点:
<h1>Todo show page</h1>
<p>Title: <%= @todo['title'] %></p>
<p>Description: <%= @todo['description'] %></p>
<%= link_to 'Back to todo list', todo_path %>
我的耙路结果:
todos GET /todos(.:format) todos#index
它没有显示我设置的路线。
如果您能帮助我,我将不胜感激。 谢谢。
您的代码看起来不错,应该可以正常工作。 我只认为您没有传递数据库中确实存在的正确的Todo
ID。
因此,当您通过访问以下代码来尝试代码时: http://localhost:3000/todos/1
确保1
或任何id是数据库中记录的真实ID。
否则,您将始终收到该错误ActiveRecord::RecordNotFound
。
从rails console
您可以尝试类似以下操作: Todo.first.id
以获取第一个todo的ID。 然后使用该ID打开todos/:id
路由。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.