Tôi có một tập tin cào thiết lập như sau:Rake nhiệm vụ ngoài không gian tên
require 'rake'
namespace :setup do
puts "I'm in setup"
task :create do
puts "I'm in create"
end
end
task :run do
puts "I'm in run"
end
Nếu tôi chạy rake setup:create
tôi nhận được mong đợi:
I'm in setup
I'm in create
Tuy nhiên, nếu tôi chạy rake run
tôi nhận được:
I'm in setup
I'm in run
Từ những gì tôi có thể nói in the guides, điều này là bất ngờ như đã nêu ở đây:
Khi tìm kiếm tên tác vụ, cào sẽ bắt đầu với không gian tên hiện tại và tìm tên ở đó. Nếu không tìm thấy tên trong không gian tên hiện tại, nó sẽ tìm kiếm các không gian tên cha cho đến khi tìm thấy kết quả phù hợp (hoặc xảy ra lỗi nếu không có kết quả trùng khớp).
Sẽ không giả định rake bắt đầu tại không gian tên hiện tại và sau đó di chuyển tìm kiếm thứ gì đó. Trong ví dụ của tôi, tôi không cung cấp một tên hiện tại nhưng nó nhảy vào setup
mặc dù tất cả những gì tôi đưa ra là run
.
Tôi đang thiếu gì?
Got nó - nhờ matt, có ý nghĩa. – Anthony