Ruby on rails 写入rails控制台

Ruby on rails 写入rails控制台,ruby-on-rails,ruby,debugging,development-environment,rails-console,Ruby On Rails,Ruby,Debugging,Development Environment,Rails Console,当我想尝试或调试smthing时,我会运行rails控制台,并在那里做一些事情。通过使用raise“blabla”引发异常,我可以从代码中打印一些文本或变量。 问题:我如何能够像一个简单的logger.info“blah”一样,毫无例外地编写rails控制台(以及明显的中断代码执行)?或者这是一个很好的开始 p "asd" # => "asd" puts "asd" # => asd 这里有更多信息:正如其他人所说,您想使用put或p。为什么?那是魔法吗 其实不是

当我想尝试或调试smthing时,我会运行
rails控制台
,并在那里做一些事情。通过使用
raise“blabla”
引发异常,我可以从代码中打印一些文本或变量。 问题:我如何能够像一个简单的
logger.info“blah”
一样,毫无例外地编写rails控制台(以及明显的中断代码执行)?

或者这是一个很好的开始

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

这里有更多信息:

正如其他人所说,您想使用
put
p
。为什么?那是魔法吗

其实不是。rails控制台在引擎盖下是一个,因此您在IRB中所能做的一切都可以在rails控制台中完成。因为在IRB中打印时我们使用
put
,所以在rails控制台中打印时我们使用相同的命令


实际上,您可以在rails源代码中查看控制台。请参见irb的要求:)

除了已经建议的
p
put
-实际上,在大多数情况下,您可以像您自己建议的那样编写
logger.info“blah”
。它也可以在控制台中工作,而不仅仅是在服务器模式下


但是,如果您只需要控制台调试,
put
p
编写起来要短得多。

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

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

放“废话”?这应该行得通;]