在 Rails 中调试? [关闭]

2024-01-26

如何在 RubyonRails 中“相对”成功地调试?我知道并广泛使用以下内容:

  • Terminal
  • 导轨控制台
  • 开发者工具
  • 日志文件(生产/开发)

如果有其他独立于其运行环境的技术可用,这将有助于更快地调试。


这些 gem 使调试 Rails 应用程序变得更加容易,而无需使用real调试器:

group :development do
  gem "better_errors"
  gem "binding_of_caller"
  gem "pry-rails"
end

更好的错误 https://github.com/charliesome/better_errors当您遇到错误时,可以在浏览器中通过 REPL 获得完整的堆栈跟踪。

With Pry https://github.com/pry/pry你可以放一个binding.pry在代码中的某处声明,下一个请求将在该行停止。现在您可以检查控制台中正在运行的代码,检查或更改变量并输入exit恢复请求。

这两个 gem 有很多共同点,对我来说,主要区别是 better_errors 提供了很好的反馈和对不可预见错误的 REPL,而 pry 使我可以在需要时停止、检查和恢复请求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rails 中调试? [关闭] 的相关文章

  • 在rails中,如何将记录作为csv文件返回

    我有一个名为 Entries 的简单数据库表 class CreateEntries lt ActiveRecord Migration def self up create table entries do t t string firs
  • 创建一个简单的 Rails 3 文本助手 Gem [重复]

    这个问题在这里已经有答案了 我一直在开发我的第一个 Rails 3 插件 以打包一个我喜欢在ApplicationHelper我所有的应用程序 你可以看到整个代码在 Github 上 https github com burlesona s
  • Rails 5.1 CORS - 如何为不同环境设置不同来源

    我正在使用带有 Rail 5 1 API 的rack cors gem 根据文档 我有以下初始化程序 配置 初始化器 cors rb module Api Rails application config middleware insert
  • Rails、REST 架构和 HTML 5:带有预检请求的跨域请求

    在致力于使我们的网站 HTML 5 友好的项目时 我们渴望采用跨域请求的新方法 不再通过隐藏的 iframe 发布 使用访问控制 http www w3 org TR access control 根据规范 我们开始设置一些测试来验证各种浏
  • ruby 中的 #encode 和 #force_encoding 有什么区别?

    我真的不明白之间的区别 encode and force encoding在 Ruby 中String班级 我明白那个 kam force encoding UTF 8 将迫使 kam 是UTF 8编码 但是怎么样 encode encod
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • REXML - 如何提取单个元素

    我正在用 ruby 编写一些验收测试 其中涉及断言响应 XML 中值的存在 我的 XML 是这样的
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常
  • 即使在急切加载之后,belongs_to 关联也会单独加载

    我有以下关联 class Picture lt ActiveRecord Base belongs to user end class User lt ActiveRecord Base has many pictures end 在我的
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被
  • rvm gem 安装错误?

    我正在摆弄 ruby gems 和 rvm 它工作得很好 但现在当我尝试安装 gem 时出现错误 gem install Rails错误 同时 执行 gem Errno EACCES 权限被拒绝 Users da rvm gems ruby
  • Rails 4 应用程序...在开发环境中,除非刷新页面,否则 javascript 不会触发

    所以我的第一个rails4应用程序遇到了一个奇怪的问题 除非我重新加载页面 否则我的页面javascript不会触发 对于我的 asset pipeline JS 和 content for JS 来说都是如此 在我的 assets jav
  • 使用 rspec 测试嵌套路由

    我正在尝试使用 rspec 测试路由 以下给出了 预期块返回真值 的错误 我不确定我错过了什么 通过浏览器我可以发布到这个网址并且成功 有任何想法吗 谢谢 Routes resources forum topics do resources
  • 没有要加载的文件 - ffi_c (LoadError)

    这个问题困扰了我几天 每当我使用 bring to front 方法时 require rubygems require watir browser Watir Browser new browser bring to front 我收到此
  • 我无法让 ruby​​ 开发工具包适用于 Windows XP

    所以 我一生都无法让它正常工作 我的最终目标是安装 dbd odbc gem 并使其正常工作 从我读过的多篇文章来看 我需要安装ODBC 绑定 http www ch werner de rubyodbc 对于 ruby 以及 dbd od
  • 如何向 Rails 应用程序添加自定义字体?

    我想在 RoR 应用程序中使用几种字体 但它们的格式主要是 ttf 和 otf 等 我该如何将这些文件嵌入到我的 Rails 应用程序中 也就是说 一旦我将它们放入我的资产文件夹中 将它们嵌入我的 CSS 和 或 LESS 文件中的语法到底
  • Ruby/Rails 集合到集合

    我有两个表与一个连接表连接 这只是伪代码 Library Book LibraryBooks 我需要做的是 如果我有一个图书馆的 id 我想获取该图书馆拥有的所有书籍所在的所有图书馆 因此 如果我有图书馆 1 图书馆 1 中有书籍 A 和
  • 存根和 rspec 旧语法的问题

    我正在编写一些代码并使用 rspec 但收到警告 提示语法已过时 我不太清楚应该如何编写它 it should calculate the value correctly do mock cards Card new clubs 5 Car
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外

随机推荐

  • Raven.Client.Exceptions.Database.DatabaseDoesNotExistException:'数据库'*****'不存在

    我在用RavenTestDriver对于我的 net core 单元测试 这是我的配置RavenTestDriver在我的单元测试解决方案中 public class TestHostBuilder RavenTestDriver IAsy
  • SQL1159 DB2 .NET 数据提供程序初始化错误,原因代码 2

    我正在尝试从运行 Windows 7 64 位的开发机器中的 NET 2 0 应用程序连接到 DB2 我在 open 方法中收到此错误 无法找到解决方案 异常类型 InvalidOperationException ExceptionMes
  • 在 OpenCV 中将较小的图像叠加在较大的图像中

    我想用 Opencv 中的图像替换图像的一部分 I used cvGetPerspectiveMatrix with a warpmatrix and using cvAnd and cvOr 但无法让它发挥作用 这是当前显示图像和替换图像
  • 浏览器不请求 favicon.ico 的原因有哪些?

    我正在编写一个位于服务器根目录的简单网页 其快捷方式图标位于 favicon ico 但我的浏览器从不请求此 favicon ico 我在 html 中包含了以下内容 当我打开开发人员工具的网络选项卡时 我看到对 192 168 0 1 网
  • 使用 group_by 的简单 Rails 3.1 视图

    我正在工作的网站上有一个菜单 食物菜单 表中的每条记录还包含一个类别字段 此类别可以是汉堡 零食 饮料或他们想要对食品进行分类的任何其他内容 我正在尝试显示菜单 其中的项目按此类别字段分组 到目前为止我的尝试 food item menus
  • RESTEasy 无法识别自定义消息正文编写器

    我的MessageBodyWriter Provider Produces text csv public class CSVMessageBodyWriter implements MessageBodyWriter
  • .NET Core Web API 5.0 构建错误

    严重性代码 说明 项目文件行抑制状态 错误 NETSDK1005 资产文件 D Working On Gra Gra obj project assets json 没有 NETCoreApp Version v5 0 的目标 确保恢复已运
  • 列依赖于其他列值

    我有一列将具有三个可能的值 稍后可能会更多 我将其存储为枚举 yes immediately yes later no 如果选择yes later制作完成后 我们还需要存储date该事件应该发生 在我看来 这必须是另一篇专栏 我的问题是设计
  • 作为收件人,是否可以检测电子邮件是通过 Gmail“安排发送”还是“发送”发送的?

    只是好奇 Gmail 是否对电子邮件标头进行了标记 以指示电子邮件是已安排发送还是立即发送 当我自己测试时 我找不到任何附加标头或标头中的任何附加参数 不过 当您安排电子邮件时 Gmail 会设置Date标题到预定时间 由于您只能以分钟的精
  • 美化C++代码,为条件语句添加括号

    如何美化C 代码 为条件语句添加括号 我需要做的是改变 if myCondition setDateTime date time to if myCondition setDateTime date time 但我必须这样做数百次 我用过A
  • Angularjs 使用 django 的 url 进行路由

    我使用 AngularJS 作为前端 使用 Django 作为后端 我在后端做非常简单的事情 所以我没有考虑使用tastypie 我遇到的问题是客户端 服务器路由 我彻底困惑了 我所做的是 从django渲染entry html页面 其中有
  • 在cmd中重新排列数组元素

    我的批处理文件中有一个数组 如下所示 port 0 port 1 0 port 2 3 port 3 2 是否有任何漂亮而优雅的方法可以将值向后移动一个元素 所以它看起来像这样 port 0 0 port 1 3 port 2 2 port
  • Caffe 运行测试失败

    成功构建 caffe 后 我进行了 runtest 但在 ImageDataLayer DBTest DataTransformTest HDF5OutputLayerTest 和一些求解器中失败 构建 链接到特定路径时是否缺少步骤 这是测
  • Django REST Framework 验证错误:“输入有效的 URL。”

    在我的 Django REST Framework 项目中 我有一个模型类 用于保存 Django 应用程序将在后台任务中抓取的服务 class Service models Model name models CharField max
  • URL 特定编码

    我尝试重新创建 URL 但找不到编码函数 Edit 背景 该字符串用于 API 当然没有文档 我尝试使用原始网址编码但似乎只有原始的编码 解码功能有效 所以我必须找到它是什么 input 2 3 word 888 gt word2 AND
  • CGridView 中的格式化日期过滤器

    我在 CGridView 中将日期显示为 22 6 2012 22 53 array name gt date value gt date j n Y G i strtotime model gt date 但在我的过滤器中 我需要以这种格
  • 如何在 SQL 中从另一个表获取计数?

    我有以下关于 SQL 的表 Mensajes IdMensaje int PK NOT NULL IdCliente int CorreoCliente varchar 100 CorreosAdicionales varchar MAX
  • 将滑动触摸从 UIView 传递到底层 UIScrollView 以实现正确滚动

    我的情况与这两篇文章类似 1907297 http www stackoverflow com questions 1907297 AND 689684 http www stackoverflow com questions 689684
  • NineOldAndroids,旋转或移动后不可点击视图

    I use 九老机器人 http nineoldandroids com2 4 0 为对象设置动画 主要用于运动和变换的控制 在 Android 4 0 及更高版本上一切正常 但在以前的版本 2 1 2 3 上 动画元素没有获得焦点并且不可
  • 在 Rails 中调试? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 如何在 RubyonRails 中 相对 成功地调试 我知道并广泛使用以下内容 Terminal 导轨控制台 开发者工具 日志文件 生产 开发