2

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

在控制台 ( rails c) 我有几个问题:

  1. Rails 似乎无法加载文件,即使application.rb包含config.autoload_paths += %W(#{config.root}/lib/**). 如何使 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

4

1 回答 1

2

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

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

如果您的应用是threadsafe!,请更改config.autoload_pathsconfig.eager_load_paths. 一旦你这样做,reload! 应该像你描述的那样行事。

于 2012-09-30T12:08:48.750 回答