写入 Rails 控制台

当我想尝试或调试的时候,我运行 rails console并在那里做一些事情。通过使用 raise "blablabla"引发异常,我可以从代码中打印一些文本或变量。 问: 如何像简单的 logger.info "blah"那样不引发异常(并且明显破坏代码执行)而直接写入 轨道控制台

191552 次浏览

puts p是一个很好的开始。

p "asd"       # => "asd"
puts "asd"    # => asd

这里有更多关于这方面的信息: http://www.ruby-doc.org/core-1.9.3/ARGF.html

正如其他人所说,你想要使用 putsp。为什么? 这是魔术吗?

其实不是。Rails 控制台在底层是 IRB,所以你能在 IRB 中做的就是在 Rails 控制台中做。因为我们使用 puts来打印 IRB,所以我们使用相同的命令来打印 Rails 控制台。

您实际上可以查看 Rails 源代码中的控制台 密码。看到 IRB 的要求了吗?:)

除了已经建议的 pputsーー好吧,实际上在大多数情况下,你确实可以像你自己建议的那样编写 logger.info "blah"。它也可以在控制台中工作,而不仅仅是在服务器模式下。

但是,如果您想要的只是控制台调试,那么无论如何,putsp的编写时间要短得多。

我认为你应该使用 Rails 调试选项:

logger.debug "Person attributes hash: #{@person.attributes.inspect}"
logger.info "Processing the request..."
logger.fatal "Terminating application, raised unrecoverable error!!!"

Https://guides.rubyonrails.org/debugging_rails_applications.html