rails调试:
1.三种最简单直接的,直接页面输出调试信息
xxx.html.haml:
=debug object
=object.inspect
=simple_format object.to_yaml
2.logger
:debug :info :warn :error :fatal
设定日志等级,当设定日志等级后之后,大于等于设定等级的日志才会被写入日志文件
可以通过配置development.rb文件来配置日志等级
config.log_level =:warn
5个等级分别对应1-5的数字
3.byebug debugger
都差不多,但debugger更好用,2个都是gem,简单实用,好用得一匹
关于rails s —debugger,启动服务时也启动debugger,这个现在不需要了,不加这个参数debugger照样可以用,ruby2.0后好想说不需要加了,提示如下:
小技巧:
程序调到断点的时候,可以输入命令进行调试,查看各种变量,或让程序继续调至下一断点,命令只需要输入到足够与其他命令就可以了
比如next 直接用n替代,continue用c替代
var命令,查看变量,贼牛批
var all -- Shows local, global and instance variables of self.
var args -- Information about arguments of the current scope
var const -- Shows constants of an object.
var global -- Shows global variables.
var instance -- Shows instance variables of self or a specific object.
var local -- Shows local variables in current scope.
display命令,可以用来监视变量,之后在每次进入到断点的时候都会在上方显示监视的变量的值s
推荐个插件:
RailsPanel:一个 Chrome 插件,在浏览器的开发者工具中显示 development.log 文件的内容,显示的内容包括:数据库查询时间,渲染时间,总时间,参数列表,渲染的视图等。
这个东西好用的一匹,浏览器下面调试窗口会多出个rails tab页,好用,牛逼
安装方法,google browser安装railspanel,rails项目安装meta_request