Ruby on Rails 4.2.0:如何找到为加载库等设置的目录

Ruby on Rails 4.2.0: How to find the directories set for loading libraries etc

是否有环境变量和一些命令行选项来检查我的 rails 应用程序的目录,这些目录是自动设置的或在某处配置的,以便 rails 知道在哪里加载库等?

作为比较,ruby 有一个命令行选项 (-I):

ruby -I path:another/path:/usr/lib rubyfile.rb arg1 arg2

这样用户可以设置可以通过Ruby查找库的目录。

同样,这里我想问一下 rails 是否有类似的方法来检查 Rails 应用程序的加载路径?或者是否在某处设置了某个变量?

亮点:我使用的是Rails版本4.2.0。 config/application.rb 示例代码似乎不包含 config.autoload_paths,甚至在注释中也不包含,它曾经是 Rails 3 和 Rails 4.1.x.

而且,Rails 应用程序如何知道在哪里查找 Gems 等?

谢谢!

查看此文件:

config/application.rb

具体来说,你添加这个设置:

config.autoload_paths 

您可以像这样添加到自动加载路径:

config.autoload_paths << Rails.root.join('mydir')

config.autoload_paths 接受一组路径,Rails 将从中自动加载常量。

默认为./app下的所有目录,如controllersmodels

默认情况下 不会 从典型的顶级 ./lib 目录自动加载。如果你想从 lib 自动加载:

config.autoload_paths << Rails.root.join('lib')

Rails Guides for Configuring

Rails 知道在哪里寻找 gem 有多种方式:通常是您的环境 GEM_PATHbundler gem bundle exec命令。例如,我个人将我的 Rails gem 捆绑到 ./vendor/bundle/ 中。