我做了一个交互式rake任务来完成管理工作。此任务通过STDIN.gets.strip
输入,并在本地按计划行事:我输入一些值,按Enter
,任务在下一个STDIN.gets.strip
进一步停止。
但是当我尝试通过heroku
gem(在Windows 7中)在Heroku上运行它时:
heroku run rake admin --app my-application
它会将Enter
键识别为按两次 - 第一次有值,第二次只有Enter
,没有值。
如何防止这种行为?我可以在STDIN.gets.strip
之后以某种方式清理输入缓冲区吗?
答案 0 :(得分:0)
我个人认为这是错误的方法。
最好简单地定义你的rake任务来获取命令行参数然后你不需要处理交互式输入的麻烦
有关详细信息,请参阅此问题
Rails Rake: How to pass in arguments to a task with :environment