【发布时间】:2015-01-06 18:39:16
【问题描述】:
我有一个像这样设置的 rake 文件:
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
如果我运行rake setup:create,我会得到预期的结果:
I'm in setup
I'm in create
但是,如果我运行 rake run,我会得到:
I'm in setup
I'm in run
据我所知in the guides,这是出乎意料的,如下所述:
查找任务名称时,rake 会从当前任务名开始 命名空间并尝试在那里找到名称。如果找不到 当前命名空间中的名称,它将搜索父命名空间 直到找到匹配项(或者如果没有匹配项则发生错误)。
这不是假设 rake 从当前命名空间开始,然后继续寻找东西。在我的示例中,我没有提供当前的命名空间,但它会跳转到 setup,即使我给它的只是 run。
我错过了什么?
【问题讨论】:
标签: ruby-on-rails ruby rake rakefile