相关疑难解决方法(0)

如何从Rake任务中运行Rake任务?

我已经编译在两个方面项目Rake文件,根据全局变量$build_type,它可以是:debug:release(结果走在不同的目录):

task :build => [:some_other_tasks] do
end
Run Code Online (Sandbox Code Playgroud)

我希望创建一个任务,依次编译项目的两个配置,如下所示:

task :build_all do
  [ :debug, :release ].each do |t|
    $build_type = t
    # call task :build with all the tasks it depends on (?)
  end
end
Run Code Online (Sandbox Code Playgroud)

有没有办法将任务称为方法?或者我怎样才能达到类似的效果呢?

ruby rake

402
推荐指数
5
解决办法
14万
查看次数

在rake任务中接受来自控制台/命令提示符的用户输入

我正在为Rails编写一个自定义rake任务,有一点是程序总结了它将要做什么,然后询问用户它将要执行的操作是否正确.

puts "\n Is this what you want to happen? [Y/N]"
answer = gets.chomp

if answer == "Y"
    # commits
else if answer == "N"
    return false #(Aborts the rake task)
end
Run Code Online (Sandbox Code Playgroud)

但是,此代码会导致rake过早中止;

rake aborted!
No such file or directory - populate
Run Code Online (Sandbox Code Playgroud)

" populate "是rake任务的名称.

我认为在.gets方法中导致此错误的原因是什么.

我不知道.gets方法是如何显式工作的,但我猜它必须自动将用户输入发送回写入脚本的文件,并且由于某种原因它变得混乱并且它认为是rake的名称task是文件的名称.由于populate.rake不存在,我认为这就是抛出错误的原因.

但是,我不知道如何解决这个错误.rake是否为.gets提供了另一种方法?

ruby rake ruby-on-rails

15
推荐指数
1
解决办法
5072
查看次数

标签 统计

rake ×2

ruby ×2

ruby-on-rails ×1