使用rails控制台时的换行符(终端)

时间:2012-08-24 07:34:49

标签: ruby-on-rails console terminal

当我输入大型ActiveRecord查询时,在完成查询之前,该行正在崩溃,我甚至无法正确阅读或输入命令。我正在使用ubuntu.Any解决方案?

4 个答案:

答案 0 :(得分:8)

最后缩小了调整终端大小的问题。通常我最大化终端输入大命令,因此问题。 发现这可以通过处理SIGWINCH信号来调整IRB的大小来解决。在下面的解决方案中,我也调整了Hirb的大小。

将以下行添加到〜/ .irbrc(如果不存在则创建一个):

Signal.trap('SIGWINCH', proc { y, x = `stty size`.split.map(&:to_i); Hirb::View.resize(x, y) if defined? Hirb } )

答案 1 :(得分:3)

更通用的方法是在行尾使用\

使用“Kenny Grant”的相同例子

ruby> User.very.long.chain.of.arel.commands. \
      where('thing = ?', 4).very.long.chain.of.arel.commands

最后一行不应该有任何结尾\,然后将执行整个命令。

答案 2 :(得分:1)

我注意到与irb相同的错误,rails控制台默认使用irb。 这就是我使用pry的原因,看看here如何使用rails设置pry。

答案 3 :(得分:0)

如果您的查询是这样的:

rails c
ruby> User.very.long.chain.of.arel.commands.where('thing = ?',4).very.long.chain.of.arel.commands

你应该可以这样做:

ruby> User.very.long.chain.of.arel.commands.where('thing = ?',
          4).very.long.chain.of.arel.commands

并将其拆分为条件中的任何逗号,然后当您按结束时返回它将执行。