2010-03-03 1 views
1

В виде Rails3 Применение я получаюПочему не может найти rails3 ApplicationController, когда он находится в моем приложении

..gems/activesupport-3.0.0.beta/lib/active_support/dependencies.rb:459:in 'load_missing_constant': uninitialized constant ApplicationController (NameError)

Даже если app/controllers/application_controller.rb существует и действует. В чем проблема

ответ

0

Есть, вероятно, несколько причин, но тот, который получил меня были с config.ru файлом в моем домашнем каталоге:

Rails3 пытается выяснить, где корневой каталог вашего приложения есть. Логика для этого начинается в каталоге ../railties/lib/rails/application, а затем идет по пути, ищущему каталог с config.ru и предполагая, что это корень приложения - если ни один не найден, то текущий рабочий каталог является корнем приложения.

Если ваши драгоценные камни установлены в подкаталоге вашего домашнего каталога (RVM, Local Gems и Bundler), то в какой-то момент это проверит наличие config.ru в вашем домашнем реестре. Если это существует, он попытается загрузить приложение из вашего домашнего каталога.

Решение не иметь config.ru в вашем доме реж

+1

Другим решением было бы иметь действительный файл config.ru, который загружается приложение Rails в корневом каталоге приложения. – Olly