Отмена пространства имен модели вызывает ошибку - PullRequest
0 голосов
/ 15 марта 2012

У меня были и контроллеры с пространством имен, и такие модели:

контроллер: Модули :: Модель страхования: Модули :: Страховки

Это работало нормально, но я хочу удалить модель пространства именк нормальному, но держите контроллер пространства имен.Я удалил все ссылки на "Modules ::" в моделях, а также во всех запросах activerecord в контроллере к модели.Когда я захожу на страницу, она возвращает эту ошибку:

Expected /***/app/models/modules/ins_insurance.rb to define Modules::InsInsurance 

Что мне делать еще, чтобы удалить модель пространства имен?

1 Ответ

0 голосов
/ 16 марта 2012

Основной причиной ошибки является то, что rails ожидает, что имя класса, объявленного внутри файла modules/ins_insurance.rb, будет Modules::InsInsurance - имя файла должно совпадать с именем класса (после небольшого преобразования благодаря Inflector's *Методы 1003 * и classify: http://apidock.com/rails/ActiveSupport/Inflector/underscore). Итак, назовите файл обратно insurance.rb, и все будет в порядке.

В более широкой теме я могу только думать, что у вас возникнут проблемырано или поздно, используя подкаталог с именем modules - по крайней мере, это путает ключевое слово Ruby Module. Если вы ищете место для размещения кода общего назначения, используйте app/lib, тогда require файл по мере необходимости. Пространство имен - хорошая вещь, но вы в конечном итоге будете сражаться с Rails, если не пойдете по течению. (Урок выучен трудным путем ;-)

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