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

Posted

技术标签:

【中文标题】Rails 控制台停止输出任何文本【英文标题】:Rails console stops to output any text 【发布时间】:2021-04-21 06:28:00 【问题描述】:

我有一个 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> 

【问题讨论】:

【参考方案1】:

这通常是由于悬空语法而发生的。在您的情况下,您使用 both do ... end ... ,特别是省略了 end

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

解决方法是删除do

你想要任何一个

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

或者内联样式:

Card.all.each  |c| ... 

【讨论】:

以上是关于Rails 控制台停止输出任何文本的主要内容,如果未能解决你的问题,请参考以下文章

运行 rspec 时如何让 Rails.logger 打印到控制台/标准输出?

创建动作 - Rails

为啥 awesome_print 不在我的 Rails 4.2 控制台中打印出格式化输出?

在 Rails 3 中为特定控制器重定向记录器输出

过滤出 Xcode 控制台输出(返回 NOT 文本)

GitBash没有输出到控制台