我正在尝试在我的deploy.rb
中编写一个Rake任务,该任务会传递一组参数。我将通过capistrano运行它。
假设有如下任务:
desc "my task"
task :mytask, [:arguments] => :environment do |t, args|
puts 'hello'
end
当我尝试运行cap mytask['arg1 arg2 arg3']
时,我得到以下内容:
the task `mytask["arg1 arg2 arg3"]' does not exist
有什么想法吗?我有一个像这样定义的任务,我在本地运行没有任何问题,但是使用cap
运行这样的定义任务不起作用。
注意:在没有参数部分的情况下运行cap mytask
可以正常运行。这显然不是我想要的。
答案 0 :(得分:0)
Rake任务由字符串定义,并在内部通过Rake :: Task [" name"]调用。如果cap将您的数组视为任务名称字符串的一部分,则它将无效。
作为'mytask' != 'mytask["arg1 arg2 arg3"]'