强制重装!来自rails 3.2 console中的lib目录

时间:2012-09-22 07:16:49

标签: ruby-on-rails ruby-on-rails-3.2 irb

我在lib/simple.rb的文件中有一个简单的类。

在控制台(rails c)中,我遇到了一些问题:

  1. 即使application.rb包含config.autoload_paths += %W(#{config.root}/lib/**),Rails也似乎无法加载文件。如何使Rails 3.2的行为像Rails 2.x一样(我从未在Rails 2.x中遇到过这种自动加载的问题--Rails 3似乎退一步:()

  2. 如果我对simple.rb进行了更改并在控制台中调用reload!,则不会重新加载该文件。我必须load "#{Rails.root}/lib/simple.rb才能重新加载。有没有办法让reload!像以前在Rails 2.x中那样工作?即只是让它重新加载所有文件而不必使用load

1 个答案:

答案 0 :(得分:2)

它应该是包含您要加载的类的文件夹。因此,应该是

config.autoload_paths += %W(#{config.root}/lib)

如果您的应用为threadsafe!,请将config.autoload_paths更改为config.eager_load_paths。完成此操作后,reload! 应该按照您的描述行事。