`

ror

 
阅读更多
使用pry调试rails项目
二 26th, 2012 发表评论 | Trackback


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/
分享到:
评论

相关推荐

    RoR性能优化经验谈

    RoR(Ruby on Rails)是一种流行的开源Web开发框架,以其高效和简洁的代码著称。然而,随着网站规模的增长,性能优化成为必不可少的环节。在本文中,我们将探讨一些RoR性能优化的关键方面,主要基于JavaEye网站在...

    ROR安装必备所有架包

    在Ruby on Rails(ROR)开发环境中,安装和配置正确的依赖包是至关重要的。这个压缩包包含了一系列用于ROR框架的基础组件,但不包括Ruby本身。让我们深入了解一下这些包的作用和重要性。 首先,`actionpack`是Rails...

    神经网络ror resenet模型

    **神经网络Ror ResNet模型详解** 在深度学习领域,ResNet(残差网络)模型是具有里程碑意义的创新,由He et al.在2015年提出。该模型解决了深度神经网络训练中的梯度消失问题,允许构建非常深的网络结构。而“Ror”...

    RoR选题方向—源代码

    Ruby on Rails(RoR)是一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程。在这个选题方向中,我们主要探讨的是与RoR相关的源代码分析和学习。源代码是...

    ROR绿色最新环境(2013/3/10)

    ROR环境 Ruby version 1.9.3 (java) RubyGems version 1.8.24 Rack version 1.4 Rails version 3.2.12 JavaScript Runtime therubyrhino (Rhino) Active Record version 3.2.12 Action Pack version 3.2.12 ...

    ror中文资料

    **Ruby on Rails(简称RoR)中文资料** Ruby on Rails(RoR)是一个基于Ruby编程语言的开源Web应用框架,遵循MVC(Model-View-Controller)架构模式,旨在简化Web开发过程,提高开发效率。RoR强调“约定优于配置”...

    Windows 上搭建 ROR环境

    ### Windows上搭建Ruby on Rails(ROR)环境详解 #### 一、引言 随着Web开发技术的不断发展,Ruby on Rails(简称Rails或ROR)作为一种高效、简洁且优雅的Web开发框架,受到了广大开发者的青睐。然而,在Windows...

    ROR 文件的上传与下载

    ### ROR 文件的上传与下载:深入解析与实践 在Ruby on Rails(简称ROR)框架下,处理文件的上传与下载是一项常见的需求,尤其是在构建包含媒体内容的应用程序时。本文将基于给定的文件信息,详细阐述如何在Rails...

    机遇ROR 的图书管理系统

    《机遇ROR的图书管理系统》是一份以Ruby on Rails(简称ROR)技术为核心,旨在构建高效、便捷的图书管理解决方案的学习资料。Ruby on Rails,是基于Ruby编程语言的开源Web应用框架,它遵循MVC(Model-View-...

    ror实例

    Ruby on Rails(简称RoR或Rails)是一种基于Ruby语言的开源Web应用框架,它遵循Model-View-Controller(MVC)架构模式,旨在提高开发效率并提供简洁、优雅的代码结构。"ror实例"可能指的是在学习或实践中,通过创建...

    RoRBlog 基于RoR的博客系统

    基于RoR的博客系统,代码风格简单清晰,前后太完善,适合初学者。

    初探ROR

    **初探ROR** Ruby on Rails(简称ROR)是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在促进开发过程的简洁性和效率。Ruby on Rails的核心理念是“Don't Repeat ...

    freemis 基于ror框架的mis

    FreeMIS是一个基于Ruby on Rails(RoR)框架构建的管理信息系统(MIS)。RoR是由David Heinemeier Hansson开发的一个开源Web应用程序框架,它遵循“Don't Repeat Yourself”(DRY)原则,强调简洁和生产力。RoR使用...

    RoR 培训课程PPT

    ### RoR培训课程PPT知识点概述 #### 一、课程概览与背景介绍 - **课程性质**:本课程为为期五天的Ruby on Rails(简称RoR)入门级培训,适合初学者快速掌握RoR的基本概念和技术要点。 - **讲师信息**:由Peter ...

    ROR介绍演讲课件 ruby on rails

    Ruby on Rails,简称RoR,是由David Heinemeier Hansson基于Ruby语言开发的一款开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,使得开发者能够更快速地构建功能丰富的web...

    ror留言板程序

    "ror留言板程序"是一个基于Ruby on Rails框架开发的简单应用,它主要用于实现用户在网站上留言和查看他人留言的功能。Ruby on Rails(简称RoR)是用Ruby语言编写的开源Web应用程序框架,遵循MVC(Model-View-...

    RoR,十分钟做Blog

    【RoR,十分钟做Blog】这篇教程主要介绍了如何使用Ruby on Rails(RoR)框架在NetBeans IDE上快速创建一个简单的博客程序。RoR是一个基于MVC(模型-视图-控制器)架构的Web开发框架,它使得开发过程更加高效且简洁。...

    RoR中文解决方案(很不错哦)

    标题中的“RoR中文解决方案”指的是Ruby on Rails(简称RoR)的一个针对中文环境的解决方案。Ruby on Rails是一个开源的Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,用Ruby语言编写,旨在使开发...

Global site tag (gtag.js) - Google Analytics