Я использую шаблон ведущего и, похоже, сталкиваюсь с непоследовательными конфликтами имен классов. У меня есть контроллер страниц с методом домашней страницы, и я хотел бы, чтобы этот метод использовал класс Pages:: HomepagePresenter, но в итоге получил ошибку:
uninitialized constant ActionController::Caching::Pages::HomepagePresenter
# ./app/controllers/pages_controller.rb:3:in `homepage'
# ./spec/requests/pages_spec.rb:14:in `block (5 levels) in <top (required)>'
Предполагая, что проблема связана с контроллером Pages и пространством имен Pages для докладчика, но похоже, что проблема не возникает при использовании контроллера Homepage и пространства имен Homepage для докладчика.
Я что-то упускаю? Ниже приведены комбинации, которые я пробовал с тем, как ведет себя приложение:
# Ideal, but this breaks with the aforementioned error
presenters/pages/homepage_presenter.rb (class Pages::HomepagePresenter)
controllers/pages_controller.rb (class PagesController)
# Works
presenters/page/homepage_presenter.rb (class Page::HomepagePresenter)
controllers/pages_controller.rb (class PagesController)
# Workes; I would expect this to break
presenters/homepage/index_presenter.rb (class Homepage::IndexPresenter)
controllers/homepage_controller.rb (class HomepageController)