web-dev-qa-db-fra.com

Obtenir config.eager_load est défini sur nil lors de la tentative d'exécution de Rails c dans test

J'essaie d'exécuter la console Rails (4.1.2)

Rails c Rails_ENV=test

Et j'obtiens ceci:

> 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)

Pourtant, dans mon test.rb, j'ai config.eager_load = false et mon database.yml est correct (j'ai exécuté rake db:schema:load Rails_ENV=test sans problème.

Comment puis-je résoudre ça?

23
sauronnikko

Vous devez déclarer l'env avant d'exécuter les commandes:

Rails_ENV=test bundle exec Rails c

Je reçois la même sortie sur mon ordinateur:

> bundle exec Rails c Rails_ENV=test                                                                                                               ian@Ians-MacBook-Pro
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

mais quand je cours comme suggéré:

> Rails_ENV=test bundle exec Rails c                                                                                                               ian@Ians-MacBook-Pro
Loading test environment (Rails 4.2.3)
28
Ian Selby

En ce qui concerne les systèmes Windows:

  1. Cela devrait faire:

    Rails c -e test
    
  2. Ou définissez d'abord la variable Rails_ENV:

    set Rails_ENV=test
    Rails c
    
2
Anatoliy Tszyan

Assurez-vous d'avoir votre 

  • production.rb

  • développement.rb

  • test.rb

fichiers dans config/environnements/dossier.

0
Touseef Murtaza

Sous Windows, il y a un problème avec Rails_ENV. Si vous courez

SET Rails_ENV=development<SPACE>   <- with a space symbol after Word "development"

alors vous obtiendrez l'erreur:

config.eager_load is set to nil. Please update your config/environments/*.rb fil es accordingly:

en faisant Rails server webrick.

Donc, assurez-vous de taper sans espace de fin (et sans guillemets)

SET Rails_ENV=development<ENTER>

La même chose s'applique à tous les environnements: test, production et développement.

0
display_name