使用pry调试rails项目

二 26th, 2012

rails默认的调度工具是ruby-debug19,启动时还要加上”–debug”参数,或许你觉得用起来也还可以。但如果你用过pry,你会发现原来可以还这么方便,ruby-debug19是那么的简陋。
以前还整过一堆插件来增强irb的功能,现在有了pry,默认配置就够用了,还有rails console也可以歇歇了。

安装

在Gemfile中添加

gem 'pry', :group => :development

然后执行

bundle install

即可。

它可以这样用

用pry代替irb方法,直接运行:

pry

用pry代替rails console方法,运行:

pry -r ./config/environment.rb

调试rails方法:
直接在要调试的地方添加”binding.pry”,”rails server”当运行到这行代码时会自动调出一个pry终端,可以在这里进行交互。退出调试用”exit-all”。如:

#/app/controllers/articles_controller.rb
def index
  @articles = Article.all
  binding.pry
end

常用命令

  • cd: 这可不是切换目录的,而是切换类。如”cd Article”会进入Article类中,”Article.all”可直接缩写为”all”
  • nesting: cd切来切去如果迷了路,用它可以看当前在哪个类下面。我倒觉得如果名字改为”pwd”会更好。
  • ls: 查看一些信息,ls -h查看帮助,ls -m查看实例方法,ls -M查看类方法,ls -p查看private方法。
  • show-doc Array#in_groups_of:查看文档。
  • show-method -l Array#in_groups_of:查看方法的源代码,-l显示行号。
  • edit-method Array#in_groups_of:调出nano来编辑代码,如果是能调出vim就好啦。(后来发现其实很简单,见后面。)
  • help:显示帮助

调试Rails

pry默认没有调试中经常用到的下一步,上一步等命令,要安装

gem "pry-nav"

然后就可以使用step, next, continue来跳来跳去了。

edit和edit-method能自动调用vim

默认调出nano编辑源代码是因为系统环境变量中没有$EDITOR的缘故,有两种方法改为vim。
1、添加环境变量$EDITOR=”vim”
2、新建~/.pryrc配置文件,添加

Pry.config.editor = "vim"

更多参考:

http://railscasts.com/episodes/280-pry-with-rails?view=asciicast

https://github.com/pry/pry

http://tyok.org/prying_ruby/

http://blog.tyraeltong.com/blog/2011/10/14/introducing-pry/

标签: , , ,
>>原创文章,欢迎转载。转载请注明:转载自Ruby迷,谢谢!
>>原文链接地址:使用pry调试rails项目
  1. 爱家物语
    二 29th, 201214:01

    回复:使用pry调试rails项目 | Ruby迷

    ….( 踩)朋友Ooooo….
    ……)./….( 踩)….
    …..(_/……)./…..
    ………….(_/……
    留下脚印送你祝福愿你快乐!

    欢迎回访我的博客

  2. PikachuEXE
    二 26th, 201219:05

    先用用看=w=