rails 3 с использованием имени папки, поскольку namspace выдает неинициализированную постоянную ошибку

Я пытаюсь обновить приложение с rails 2.3 до 3.0, и в нем есть файл

app/utility/interface/import/import_statistics_manager.rb

который содержит

class Utility::Interface::Import::ImportStatisticsManager         
//code here  
end

Я верю, что Utility::Interface::Import - это имена папок в пути к файлу, но они используются как пространства имен

Этот код отлично работает в rails 2.3, но когда я пытаюсь запустить с rails 3.0.6, он выдает ошибку NameError

Error message:
   uninitialized constant Utility
Exception class:
   NameError

К вашему сведению: в рельсах 2.3 используется рубин 1.8.7, а в рельсах 3.0.6 используется рубин 1.9.2.

Пожалуйста, поправьте меня, если я не правильно понял


person Siva    schedule 25.04.2013    source источник
comment
Вы добавили каталоги в свой путь автозагрузки в application.rb?   -  person dhoelzgen    schedule 25.04.2013
comment
Я бы попытался добавить и тот, который вы упомянули в своем сообщении - не все каталоги в папке приложения автоматически загружаются.   -  person dhoelzgen    schedule 25.04.2013
comment
@dhoelzgen да, у него есть config.autoload_paths + =% W (# {config.root} / app / utility)   -  person Siva    schedule 25.04.2013
comment
@dhoelzgen, пожалуйста, не стесняйтесь редактировать сообщение   -  person Siva    schedule 25.04.2013
comment
Хорошо, затем попробуйте явно вложить модули, как показано в this опубликовать. Если это не помогает, предоставьте дополнительную информацию о том, где произошла ошибка.   -  person dhoelzgen    schedule 25.04.2013
comment
@dhoelzgen, спасибо, чувак !! этот пост помог добавить папку приложения в автозагрузку вместо app // утилита / интерфейс / импорт исправил это.   -  person Siva    schedule 25.04.2013


Ответы (1)


Для использования в будущем (см. комментарии к вопросу):

Помогло добавление полной папки app в пути автозагрузки.

Дополнительную информацию см. В этом сообщении.

person dhoelzgen    schedule 25.04.2013