TL;DR
-
mettre ceci dans le fichier config/application.rb
config.eager_load_paths += ["#{Rails.root}/lib"]
retirez require
les relevés de votre lib fichiers
Allez!
Laissez-moi vous expliquer en détail.
Je ne sais pas pourquoi cette réponse est acceptée, car il ne permet pas de recharger dossier lib sur chaque demande. J'ai d'abord pensé que cela fonctionne pour les Rails 2, mais la question indique clairement que c'était pour Rails 3 et la date de sortie de la 3.0.0 est antérieure à la date de la réponse.
D'autres réponses paraître compliqué ou n'offrent pas de solution réelle.
J'ai décidé d'étudier un peu les choses, parce qu'il a été me tracasse et j'ai même découvert que les gens ont une solution et il implique la sauvegarde lib fichiers à l'intérieur d' app/models
dans le développement puis en les déplaçant à l' /lib
lorsque vous avez terminé. Nous pouvons faire mieux, non?
Ma solution est testée contre:
- Rails 3.0.20
- Rails 3.1.12
- Rails 3.2.13
- Rails 4.0.0.rc1
Mettre ceci dans votre config/application.rb
:
# in config/application.rb
config.eager_load_paths += ["#{Rails.root}/lib}"]
Ça y est!™
Assurez-vous de le mettre ici, car il sera de ne pas fonctionner si vous le mettez en config/environments/development.rb
, par exemple.
Assurez-vous que votre supprimer tous les require
consolidés pour votre /lib
code require
des déclarations aussi provoquer cette solution ne fonctionne pas.
Ce code est implicite dans votre code, donc si vous avez de l'environnement de contrôle (qui sont inutiles) et au lieu de le code ci-dessus, vous décidez d'écrire quelque chose comme ceci:
# in config/application.rb
config.eager_load_paths += ["#{Rails.root}/lib"] if Rails.env.development?
vous devriez regarder sur le vieux - require
des déclarations, étant donné qu'ils sont encore nécessaires sur tous les environnements de développement, dans ce scénario.
Donc, si vous décidez malgré tout de faire de l'environnement vérifie, assurez-vous que vous n'inverse vérifie pour exiger des déclarations. Sinon, vous allez vous faire piquer!
require "beer_creator" unless Rails.env.development?
Vous pourriez penser que l'écriture de tout le paragraphe à propos de quelque chose qui est inutile est également inutile, mais je pense que la population en garde contre quelque chose qui est nécessaire quand vous faites quelque chose de superflu, est également nécessaire.
Si vous souhaitez en savoir plus sur ce sujet, consultez ce petit tutoriel.