2008-09-13 25 views

回答

11

是的。最简单的方法是将该值作为字符串提升。像这样:raise @foo.to_s

或者,您可以安装调试器(gem install ruby-debug),然后用--debugger标志启动开发服务器。然后,在你的代码中,调用debugger指令。

在调试器提示符中,您有许多命令,包括p来打印变量的值。

更新:这里的a bit more about ruby-debug

5

如果你有一个控制器实例变量命名为@foo,然后在你的控制器,你可以简单地这样做:在您的视图模板使用

logger.debug "@foo is: #{@foo}" 

此外,您可以输出值:

<%= debug @foo %> 
5

我更喜欢使用的检查方法,像这样:

raise @foo.inspect 

它具有比to_s更多的信息,如属性值。从霍尔迪本斯特,约翰·托普利和Jaryl

3

摘要:

一,快速和肮脏的方式:

raise @foo.inspect 
在控制器

。或

<% raise @foo.inspect %> 

在您的看法。

二,正确记录到您development.log

logger.debug "@foo == #{@foo.inspect}" 

三, Full-fledged debugging

安装调试器(gem install ruby-debug),然后用--debugger标志启动开发服务器。然后,在你的代码中,调用debugger指令。

在调试器提示符中,您有许多命令,包括p来打印变量的值。

0

如果您只需要查看某个值,那么引发异常是最快的方法,但值得花时间学习如何正确使用调试器。很少有人只需要查看变量的值,您可能试图在代码中发现错误,而这正是调试器的用处。

发送信息到开发日志比任何其他两个选项,这里这么慢得多,如果你学习如何使用调试器(谁想要通过日志文件中读取)。使用记录器进行生产,当有人打电话给你时,你会想知道什么是价值,并说一切都被破坏了。

0

嗯,我通常喜欢在标准错误输出

$ stderr.print( “什么”)

它的简单,没有工作。

相关问题