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
下的所有目录,如controllers
、models
等
默认情况下 不会 从典型的顶级 ./lib
目录自动加载。如果你想从 lib 自动加载:
config.autoload_paths << Rails.root.join('lib')
Rails 知道在哪里寻找 gem 有多种方式:通常是您的环境 GEM_PATH
或 bundler
gem bundle exec
命令。例如,我个人将我的 Rails gem 捆绑到 ./vendor/bundle/
中。
是否有环境变量和一些命令行选项来检查我的 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
下的所有目录,如controllers
、models
等
默认情况下 不会 从典型的顶级 ./lib
目录自动加载。如果你想从 lib 自动加载:
config.autoload_paths << Rails.root.join('lib')
Rails 知道在哪里寻找 gem 有多种方式:通常是您的环境 GEM_PATH
或 bundler
gem bundle exec
命令。例如,我个人将我的 Rails gem 捆绑到 ./vendor/bundle/
中。