1

我做了一个交互式 rake 任务来完成管理工作。此任务通过输入STDIN.gets.strip并在本地按计划运行:我输入一些值,按下Enter,任务进一步运行,在 next 停止STDIN.gets.strip

但是当我尝试通过herokugem(在 Windows 7 中)在 Heroku 上运行它时:

heroku run rake admin --app my-application

它将按键识别Enter为按下了两次——第一次是有值的,第二次是Enter没有值的。

如何防止这种行为?我可以在之后以某种方式清理输入缓冲区STDIN.gets.strip吗?

4

1 回答 1

0

我个人认为这是错误的做法。

最好简单地定义你的 rake 任务来获取命令行参数,然后你就不需要处理交互式输入的麻烦了

有关更多详细信息,请参阅此问题

Rails Rake:如何使用 :environment 将参数传递给任务

于 2013-02-27T12:37:26.113 回答