Ruby on rails 为什么Rails中的lib目录默认不在自动加载路径中?

Ruby on rails 为什么Rails中的lib目录默认不在自动加载路径中?,ruby-on-rails,autoload,Ruby On Rails,Autoload,我知道lib/目录可以很容易地添加到autoload\u路径和eager\u load\u路径。但是我不太明白为什么默认情况下,lib/中的文件不是自动加载的,也不是即时加载的 不幸的是,我在任何地方都找不到简单的答案,所以如果有人能简单地向我解释一下,我将不胜感激 因为没有Rails约定将需要自动加载的文件放入liblib用于驻留在lib/tasks中的rake/thor任务,其他任务很少 特定于应用程序的文件应该放在应用程序中。如果您发现自己正在考虑将某些内容放入lib,那么它可能属于app

我知道
lib/
目录可以很容易地添加到
autoload\u路径
eager\u load\u路径
。但是我不太明白为什么默认情况下,
lib/
中的文件不是自动加载的,也不是即时加载的


不幸的是,我在任何地方都找不到简单的答案,所以如果有人能简单地向我解释一下,我将不胜感激

因为没有Rails约定将需要自动加载的文件放入
lib
lib
用于驻留在
lib/tasks
中的rake/thor任务,其他任务很少


特定于应用程序的文件应该放在
应用程序中
。如果您发现自己正在考虑将某些内容放入
lib
,那么它可能属于
app
中的某个位置,或者属于Gem中的某个位置。

,因为没有Rails约定将需要自动加载的文件放入
lib
lib
用于驻留在
lib/tasks
中的rake/thor任务,其他任务很少


特定于应用程序的文件应该放在
应用程序中
。如果您发现自己正在考虑将某些内容放入
lib
,则它可能属于
app
中的某个位置,或者属于宝石。

app下的任何内容都将自动加载。您可以使用
app/lib
处理不适合默认目录的内容,或者创建一个新目录。例如,我将服务对象放入
app/services
中。
app
下的任何内容都将自动加载。您可以使用
app/lib
处理不适合默认目录的内容,或者创建一个新目录。例如,我将服务对象放入
app/services