Ruby on rails 写入rails控制台
当我想尝试或调试smthing时,我会运行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。为什么?那是魔法吗 其实不是
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!!!"
放“废话”?这应该行得通;]