相关疑难解决方法(0)

如何将命令行参数传递给rake任务

我有一个rake任务需要将值插入多个数据库.

我想从命令行或另一个 rake任务将此值传递给rake任务.

我怎样才能做到这一点?

ruby rake command-line command-line-arguments

1065
推荐指数
15
解决办法
33万
查看次数

如何多次执行带参数的Rake任务?

不可能invoke在循环内多次执行相同的rake任务.但是,我希望能够调用rake first并循环遍历数组并second使用不同的参数在每次迭代时调用.由于invoke只是第一次执行,我尝试使用execute,但Rake :: Task#execute不使用splat(*)运算符,只接受一个参数.

desc "first task"
task :first do 
  other_arg = "bar"
  [1,2,3,4].each_with_index do |n,i|
    if i == 0 
      Rake::Task["foo:second"].invoke(n,other_arg)
    else
      # this doesn't work
      Rake::Task["foo:second"].execute(n,other_arg)
    end
  end
end

task :second, [:first_arg, :second_arg] => :prerequisite_task do |t,args|
  puts args[:first_arg]
  puts args[:second_arg]
  # ...
end
Run Code Online (Sandbox Code Playgroud)

围绕它的一个方法就是将参数execute放入一个数组中并second检查args的结构,但这看起来好像是hackish.还有另一种(更好的?)方式来完成我想做的事情吗?

ruby rake

14
推荐指数
1
解决办法
8093
查看次数

标签 统计

rake ×2

ruby ×2

command-line ×1

command-line-arguments ×1