Ошибка маршрутизации Rails 5 - PullRequest
       0

Ошибка маршрутизации Rails 5

0 голосов
/ 30 августа 2018

Я новичок в рельсах и пытаюсь НЕ использовать resources :todos и строить свои маршруты один за другим. Однако я получаю следующую ошибку:

ActiveRecord :: RecordNotFound в TodosController # show
Не удалось найти Todo с '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

Это не показывает мой маршрут для шоу, которое я установил.
Я ценю это, если вы могли бы помочь. Спасибо.

1 Ответ

0 голосов
/ 30 августа 2018

Ваш код выглядит отлично, и он должен отлично работать. Я только думаю, что вы не передаете правильный Todo идентификатор, который существует в базе данных.

Поэтому, когда вы пытаетесь выполнить код, посетив: http://localhost:3000/todos/1, убедитесь, что 1 или любой другой идентификатор является реальным идентификатором для записи в вашей базе данных.

В противном случае вы всегда получите эту ошибку ActiveRecord::RecordNotFound.

Из вашего rails console вы можете попробовать что-то вроде: Todo.first.id, чтобы получить первый идентификатор задачи. Затем используйте этот идентификатор, чтобы открыть маршрут todos/:id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...