Rails路由错误5
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails路由错误5相关的知识,希望对你有一定的参考价值。
我是rails的新手,并试图不使用resources :todos
并逐个构建我的路线。但是,我收到以下错误:
TodosController#show中的ActiveRecord :: RecordNotFound 用'id'= id找不到Todo
我的路线:
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
路线。
以上是关于Rails路由错误5的主要内容,如果未能解决你的问题,请参考以下文章