Rails 控制台停止输出任何文本

Rails console stops to output any text

我有一个 rails 应用程序,我在 bin/rails console.

中执行了一些查询

现在当我查询输出一些数据时突然停止显示输出。

然后我可以给变量赋给定值,输入变量不会输出我刚刚赋值的值:

irb(main):001:0> Card.all.each do {|c| print("#{c.full_name}: #{c.id}/#{c.first_name}-#{c._lastname}")  }
irb(main):004:2> x = _
irb(main):005:2> x
irb(main):006:2> x = 3 
irb(main):007:2> x # I would assume to see the value '3'
irb(main):009:3> print("hello") # I would assume to see "hello" on the screen
irb(main):010:3> 

这通常是由于悬空语法造成的。在您的情况下,您同时使用 do ... end{ ... },特别是省略了 end.

IRB 解析器将继续接收输入,直到您输入 end,然后才会 运行 and/or 发出错误。

修复方法是擦除 do

你想要:

Card.all.each do |c|
  ...
end

或者内联样式:

Card.all.each { |c| ... }