Я использую шаблон презентатора и, похоже, сталкиваюсь с противоречивыми конфликтами именования классов.У меня есть контроллер страниц с методом домашней страницы, и я хотел бы, чтобы этот метод использовал класс 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 для докладчика проблем не возникает.
Я что-то упустил?Ниже приведены комбинации, которые я пробовал с поведением приложения:
# 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)