通过PuTTY在Rails控制台中命令历史记录

通过PuTTY在rails 2.3.12中使用脚本/控制台。 当我按下“向上”箭头来访问我写的最后一个命令时,它只是打印出奇怪的字符串“^ [[A”到终端。 与其他箭头相同…后箭头打印“^ [[D”和前进箭头打印“^ [[C”

希望有人认识到这些奇怪的代码,并且可能告诉我如何使箭头正常工作。 这是PuTTY设置问题吗?

向上箭头function由readline提供。 通常,当构建ruby时,。/ configure会自动检测readline库并为它们构建ruby映射。 有时这不起作用,你必须在构建ruby时安装新库或自定义configure –with-readline-dir。 irb和rails-console只使用ruby stdlib的readlinefunction,大豆问题可能是你的ruby构建没有检测到并绑定readline。

我建议你使用readline调查与构建ruby相关的其他SO问题 ,看看其中一个是否为你的ruby版本和操作系统提供了指导。

我使用了它,它对我有用JRuby 1.6.7和Rails 2.3.8(参见原始解决方案的链接)

它看起来像bundler阻止irb控制台使用readline。 您可以通过在.irbrc以下行来解决此.irbrc ,这将迫使irb使用readline:

 IRB.conf[:USE_READLINE] = true 

如此处所示

使用bundle exec运行rails控制台

希望这可以帮助。