eri*_*223 5 ruby ruby-on-rails require
这是一个新手问题:
require 'tasks/rails'
Run Code Online (Sandbox Code Playgroud)
我在每个rails项目的根路径中看到了Rakefile中的这一行.我想这行用于要求vendor/rails/railties/lib/tasks/rails.rb来加载所有rake任务:
$VERBOSE = nil
# Load Rails rakefile extensions
Dir["#{File.dirname(__FILE__)}/*.rake"].each { |ext| load ext }
# Load any custom rakefile extensions
Dir["#{RAILS_ROOT}/lib/tasks/**/*.rake"].sort.each { |ext| load ext }
Dir["#{RAILS_ROOT}/vendor/plugins/*/**/tasks/**/*.rake"].sort.each { |ext| load ext }
Run Code Online (Sandbox Code Playgroud)
我的问题是为什么只为require方法指定了'tasks/rails',而不是文件的完整路径?
提前致谢.
Lol*_*ath 13
当你启动你的rails应用程序时,它会运行config/boot.rb来调用Rails::Initializer.set_load_path和设置$LOAD_PATH.
Ruby使用该目录列表来查找require一行中指定的文件.如果你给它一个绝对路径require '/home/lolindrath/ruby/lib.rb',就会跳过那个搜索.
这大致类似于#include <stdlib.h>C/C++,它搜索您给编译器找到该头文件的include路径.
| 归档时间: |
|
| 查看次数: |
10417 次 |
| 最近记录: |