ruby-on-rails - ruby rails 4.2.0 : How to find the directories set for loading libraries etc

标签 ruby-on-rails ruby path environment-variables classpath

是否有环境变量和一些命令行选项来检查我的 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/ 中。

关于ruby-on-rails - ruby rails 4.2.0 : How to find the directories set for loading libraries etc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27739454/

相关文章:

ruby-on-rails - 正确执行 redirect_to :back in Ruby on Rails when referrer is not available

python - 学习Python的交互式教程

perl - 在 Perl 中如何组合重叠路径段以获得完整路径?

linux - .vimrc .vim script/plugin/whatelse 中的绝对或相对路径

c# - 如何从在线 .txt 文件中搜索或匹配文本?

Jquery Rails 3...表单提交两次...删除两次...帮助

ruby-on-rails - 将 foreman 与多个 .env 文件一起使用

ruby - 如何检查字符串是否是 Ruby 中的整数?

ruby - 在 Git 中编写一个预推送 Hook 以 grep 正则表达式的所有文件想要在找不到正则表达式时拒绝推送

javascript - Rails - 如何将从外部 API 检索到的前端 javascript 数据发送到 Controller