Я получаю сообщение об ошибке маршрутизации из приложения, которое создаю - PullRequest
0 голосов
/ 25 сентября 2019

Я включил get '/favorites', to: 'favorites#index' в свой config/routes.rb, и я получаю сообщение об ошибке, и я не совсем уверен, в чем проблема

ActionController::RoutingError (uninitialized constant FavoritesController):

bootsnap (1.4.4) lib/bootsnap/load_path_cache/core_ext/active_support.rb:79:in `block in load_missing_constant'
bootsnap (1.4.4) lib/bootsnap/load_path_cache/core_ext/active_support.rb:8:in `without_bootsnap_cache'
bootsnap (1.4.4) lib/bootsnap/load_path_cache/core_ext/active_support.rb:79:in `rescue in load_missing_constant'
bootsnap (1.4.4) lib/bootsnap/load_path_cache/core_ext/active_support.rb:58:in `load_missing_constant'
activesupport (5.2.3) lib/active_support/inflector/methods.rb:283:in `const_get'
activesupport (5.2.3) lib/active_support/inflector/methods.rb:283:in `block in constantize'
activesupport (5.2.3) lib/active_support/inflector/methods.rb:281:in `each'
activesupport (5.2.3) lib/active_support/inflector/methods.rb:281:in `inject'
activesupport (5.2.3) lib/active_support/inflector/methods.rb:281:in `constantize'
actionpack (5.2.3) lib/action_dispatch/http/request.rb:88:in `controller_class_for'
actionpack (5.2.3) lib/action_dispatch/http/request.rb:81:in `controller_class'
actionpack (5.2.3) lib/action_dispatch/routing/route_set.rb:46:in `controller'
actionpack (5.2.3) lib/action_dispatch/routing/route_set.rb:32:in `serve'
actionpack (5.2.3) lib/action_dispatch/journey/router.rb:52:in `block in serve'
actionpack (5.2.3) lib/action_dispatch/journey/router.rb:35:in `each'

это половина сообщения об ошибке, я решил не публиковатьвсе дело в том, что оно может быть слишком длинным для переполнения стека

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Предполагая, что у вас есть контроллер, ошибка исчезнет, ​​если вы добавите следующее в файл маршрутов?Возможно ли вам запустить «грабли маршруты» и опубликовать вывод?

resources: favorites
0 голосов
/ 25 сентября 2019

Похоже, вы не создали класс FavoritesController.Создайте app/controllers/favorites_controller.rb и определите контроллер с помощью действия index.Предполагая, что у вас есть класс модели Favorite, вы можете сделать это:

class FavoritesController < ApplicationController
  def index
    @favorites = Favorite.all #uses Favorite model
  end
end

После этого вы можете получить ошибку из представления, если у вас не настроено представление для действия индекса в /app/views/favorites/index.html.erb, выможет просто создать этот файл, и он будет иметь доступ к @favorites из контроллера.

Вы можете сгенерировать все это, запустив этот генератор в вашей консоли:

rails generate controller Favorites index

И изменив сгенерированный маршрут.

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