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

时间:2012-03-18 17:38:08

标签: ruby-on-rails putty

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

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

2 个答案:

答案 0 :(得分:1)

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

我建议您调查other SO questions relevant to building ruby with readline,看看其中一个是否为您的ruby版本和操作系统提供了指导。

答案 1 :(得分:0)

我用过这个,用JRuby 1.6.7和Rails 2.3.8对我有用(见原始解决方案的链接)

看起来Bundler会阻止irb控制台使用readline。您可以通过在.irbrc中添加以下行来解决此问题,这将迫使irb使用readline:

IRB.conf[:USE_READLINE] = true

如此处所示

Running rails console with bundle exec

希望这会有所帮助。