2

我在这里看到了类似的问题,无法弄清楚我刚刚开始使用 ror 开发的答案。我有一个 rake 任务:

namespace:generate do 
    desc "Export to txt"
    task :txt => :environment do |t, args|
        puts "testing #{args}"
    end
end

当我从命令行执行此操作时:

rake generate:txt

我明白了testing {}

当我尝试将值作为这样的参数注入时:

rake generate:txt[testvalue]或者

rake generate:txt testvalue

第一个不做任何相同的输出testing {}第二个我得到一个错误。那么我以哪种方式调用命令以便用一些值填充 args?

4

2 回答 2

1
namespace:generate do 
    desc "Export to txt"
    task :txt, [:arg1] =>  :environment do |t, args|
        puts "testing #{args[:arg1]}"
    end
end

rake generate:csv arg1="value"
于 2013-01-22T09:52:47.350 回答
1

IIRC,您必须明确声明参数。

task :environment do
  puts "setting up env"
end

namespace :generate do
  desc "Export to txt"
  task :txt, [:filename] => :environment do |t, args|
    puts "testing #{args}"
  end
end

然后

% rake generate:txt['foo']
setting up env
testing {:filename=>"foo"}
于 2013-01-22T09:52:50.533 回答