Итак, я начал использовать STI для одного класса моей страницы Statuswebpage.
Родительский класс выглядит так:
class Check < ApplicationRecord
(some methods defined but not important for this issue i guess)
end
А дочерний класс выглядит так:
class PingCheck < Check
(also some methods but again not important for this issue)
end
А мои маршруты такие:
Prefix Verb URI Pattern
results GET /results(.:format)
POST /results(.:format)
new_result GET /results/new(.:format)
edit_result GET /results/:id/edit(.:format)
result GET /results/:id(.:format)
PATCH /results/:id(.:format)
PUT /results/:id(.:format)
DELETE /results/:id(.:format)
checks GET /checks(.:format)
POST /checks(.:format)
new_check GET /checks/new(.:format)
edit_check GET /checks/:id/edit(.:format)
check GET /checks/:id(.:format)
PATCH /checks/:id(.:format)
PUT /checks/:id(.:format)
DELETE /checks/:id(.:format)
ping_checks GET /ping_checks(.:format)
POST /ping_checks(.:format)
new_ping_check GET /ping_checks/new(.:format)
edit_ping_check GET /ping_checks/:id/edit(.:format)
ping_check GET /ping_checks/:id(.:format)
PATCH /ping_checks/:id(.:format)
PUT /ping_checks/:id(.:format)
DELETE /ping_checks/:id(.:format)
subcategories GET /subcategories(.:format)
POST /subcategories(.:format)
new_subcategory GET /subcategories/new(.:format)
edit_subcategory GET /subcategories/:id/edit(.:format)
subcategory GET /subcategories/:id(.:format)
PATCH /subcategories/:id(.:format)
PUT /subcategories/:id(.:format)
DELETE /subcategories/:id(.:format)
categories GET /categories(.:format)
POST /categories(.:format)
new_category GET /categories/new(.:format)
edit_category GET /categories/:id/edit(.:format)
category GET /categories/:id(.:format)
PATCH /categories/:id(.:format)
PUT /categories/:id(.:format)
DELETE /categories/:id(.:format)
incidents GET /incidents(.:format)
POST /incidents(.:format)
new_incident GET /incidents/new(.:format)
edit_incident GET /incidents/:id/edit(.:format)
incident GET /incidents/:id(.:format)
PATCH /incidents/:id(.:format)
PUT /incidents/:id(.:format)
DELETE /incidents/:id(.:format)
welcome_index GET /welcome/index(.:format)
root GET /
А вот мой файл config / rout.rb:
1 Rails.application.routes.draw do
2 resources :results
3 resources :checks
4 resources :ping_checks
5 resources :subcategories
6 resources :categories
7 resources :incidents
8 get 'welcome/index'
9 # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
10 root 'welcome#index'
11 end
Итак, у меня есть страница указателя, где я могу видеть каждый проверьте в таблице. И в конце страницы у меня была ссылка «Новая проверка», которая работала нормально. Но я хочу изменить его на ссылку «Новая проверка связи». И в будущем я хочу иметь возможность видеть все мои различные проверки (например, проверку входа в систему) в этой таблице и создавать их на этом сайте. Вот как теперь выглядит ссылка:
<%= link_to 'New Ping Check', new_ping_check_path %>
, но когда я пытаюсь кликнуть по этой ссылке, появляется ошибка «Ошибка маршрутизации: неинициализированная константа PingChecksController». Но в консоли я могу создать pingcheck без проблем, и он появляется на странице индекса проверок.
У меня есть контроллер для проверок, но не для PingChecks. Я создал Check Model с помощью скаффолда, чтобы он имел новый, destroy, edit et c. и др c. методы. (может быть, это важно, я не знаю)
Нужно ли мне писать новый контроллер для pingcheck? даже если код в контроллере будет в основном таким же, только он помнит, что это тип PingCheck
Что мне делать?