Получение config.eager_load равно нулю при попытке запуска рельсов c в тесте
Я пытаюсь запустить консоль рельсов (4.1.2
)
rails c RAILS_ENV=test
И я получаю это:
> config.eager_load is set to nil. Please update your
> config/environments/*.rb files accordingly:
>
> * development - set it to false * test - set it to false (unless
> you use a tool that preloads your test environment) * production -
> set it to true
>
> /Users/xxxxxx/.rvm/gems/ruby-2.2.2/gems/activerecord-4.1.12/lib/active_record/connection_adapters/connection_specification.rb:257:in
> `resolve_symbol_connection': 'RAILS_ENV=test' database is not
> configured. Available: ["development", "test", "production"]
> (ActiveRecord::AdapterNotSpecified)
Но в моем test.rb
у меня есть config.eager_load = false
, а мой database.yml
в порядке (я бежал rake db:schema:load RAILS_ENV=test
без проблем.
Как я могу это решить?
Ответы
Ответ 1
Вам нужно объявить env, прежде чем запускать команды:
RAILS_ENV=test bundle exec rails c
Я получаю тот же вывод на своем компьютере:
> bundle exec rails c RAILS_ENV=test [email protected]
config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
* development - set it to false
* test - set it to false (unless you use a tool that preloads your test environment)
* production - set it to true
но когда я запускаю, как было предложено:
> RAILS_ENV=test bundle exec rails c [email protected]
Loading test environment (Rails 4.2.3)
Ответ 2
Как для систем Windows:
Ответ 3
В Windows есть сбой с RAILS_ENV
. Если вы запустите
SET RAILS_ENV=development<SPACE> <- with a space symbol after word "development"
то вы получите сообщение об ошибке:
config.eager_load is set to nil. Please update your
config/environments/*.rb fil es accordingly:
при выполнении rails server webrick
.
Итак, убедитесь, что вы вводите тип без конечного пробела (и без кавычек)
SET RAILS_ENV=development<ENTER>
То же самое относится ко всем средам: тестированию, производству и разработке.
Ответ 4
Убедитесь, что у вас есть
production.rb
development.rb
test.rb
файлы в папке config/средах/.
Ответ 5
Необходимо установить
config.eager_load = false
для config/environment/development.rb и test.rb или = true
для production.rb (по умолчанию)