Рубин на рельсах 5

Я переместил все свои контроллеры, помощники, модели, представления и ресурсы в веб-папку. И теперь я получаю ошибку неинициализированной константы HomeController. Как я могу отразить это изменение на моих маршрутах?

Маршруты

Rails.application.routes.draw do
  root 'home#index', module: 'web'
end

enter image description here

0
0
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

uninitialized constant HomeController

У вас есть root 'home#index', module: 'web', и когда вы переместили свой контроллер в сеть, название класса контроллера должен быть с префиксом имени модуля, как Web::.

class Web::HomeController
end

ИЛИ

Если вы не хотите использовать префикс модуля Web::, вы можете просто изменить

root 'home#index', module: 'web'

к

root 'home#index', path: '/web/home'

Для получения дополнительной информации прочтите Пространство имен контроллера

Спасибо, но, к сожалению, я все еще получаю сообщение об ошибке. Обратите внимание, что я переместил саму папку контроллера в веб-папку.

SpongebobJunior 10.09.2018 09:18

@SpongebobJunior Вы делаете это неправильно. Должно быть так папка контроллеров -> веб-папка ---> home_controller.rb

Pavan 10.09.2018 09:22

Я пытаюсь разделить API и Интернет в свои собственные папки, то есть все связанные с Интернетом будут в веб-папке, а все веб-сервисы будут в папке api. Я не могу этого сделать на Ruby on Rails?

SpongebobJunior 10.09.2018 09:26

@SpongebobJunior: не так, нет. Если ваш веб и api действительно настолько разделены (что звучит немного странно), вы можете попробовать извлечь их как движки rails.

Sergio Tulentsev 10.09.2018 09:28

@SpongebobJunior AFAIK, вы не можете сделать это так. Вы можете разделить файлы контроллеров с помощью пространства имен и определения маршрутов в пространстве имен, которые будут отображать эти действия контроллера.

Pavan 10.09.2018 09:35

@SpongebobJunior Вы можете увидеть это сообщение SO для справки stackoverflow.com/questions/37810764/…

Pavan 10.09.2018 09:39

Спасибо за информацию, я просто собираюсь их разделить

SpongebobJunior 10.09.2018 09:48

Другие вопросы по теме