Dưới đây là thêm một người mới câu hỏi:Làm thế nào để Ruby biết nơi để tìm một tập tin cần thiết?
require 'tasks/rails'
tôi thấy dòng này trong Rakefile trong đường dẫn thư mục gốc của mỗi dự án đường ray. Tôi đoán dòng này được sử dụng để yêu cầu nhà cung cấp/ray/railties/lib/nhiệm vụ/rails.rb để có được tất cả các nhiệm vụ cào nạp:
$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 }
Câu hỏi của tôi là tại sao chỉ 'nhiệm vụ/đường ray' được quy định cho các yêu cầu phương pháp, nhưng không phải là đường dẫn đầy đủ của tập tin?
Xin cảm ơn trước.
[Liên kết hoạt động] (https://github.com/rails/rails/blob/2-3-stable/railties/lib/initializer.rb#L240) với 'set_load_path' của Rails 2.3. (Số dòng có thể thay đổi, nhưng có thể tệp sẽ không.) (Tôi không biết Rails 3 đặt cùng mã đó ở đâu.) –