繁体   English   中英

Rails路由错误5

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM