如何使用rails控制台进行调试并放入应用程序

2024-02-12

我想在通过 Rails 控制台打开的 irb 中打印一些行。我见过很多关于如何实现它的问题。但我在 irb 中什么也没得到。

下面是代码——

def show
puts 'in show method'
@post = Feed.find_by_id params[:id]
puts @post.inspect
redirect_to root_path unless @post.present? 
end

现在我已经通过命令打开服务器rails server。另外,在另一个终端我给出了命令rails console,它打开了 irb 提示符。当我在浏览器中运行时localhost:3000/posts/82它给出了正确的帖子,但控制台中没有显示任何内容。我缺少哪一步?我想在调用特定方法时在控制台中打印一些内容。


最好的调试方法是使用debugger命令。

如果您使用 ruby​​ 2.0 或更高版本,则必须使用gem 'byebug'如果您使用的是 1.9 或更低版本,那么gem ruby-debug

然后,当您在开发模式下运行服务器时,您的服务器将在达到debugger允许您查看对象的状态并修改它们(比简单地使用要好得多puts

该程序将在服务器运行的同一窗口中停止。

一些基本命令:

  • c continues the execution until next debugger is found
  • n runs the next command. If it is a function executes the function
  • s step into the next command. If it is a function, you will get into the function and see the variables
  • display expression on every step display the result of the expression you write (very useful when debugging loops)
  • undisplay expression_number stops displaying the expresion
  • display shows all the expressions being displayed
  • list Displays the source code being executed
  • help shows the available commands help command_name shows detailed info about a command

有关调试的更多信息:http://guides.rubyonrails.org/debugging_rails_applications.html http://guides.rubyonrails.org/debugging_rails_applications.html

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

如何使用rails控制台进行调试并放入应用程序 的相关文章

  • 如何在Codeblocks中调试?

    我刚刚完成了程序编码 但面临一些逻辑错误 我想调试程序 我正在使用Codeblocks 那么我需要做什么才能在程序运行时查看每个变量的状态和值 并逐行浏览程序 我基本上想做你在 Visual Studio 中做的事情 当你逐行浏览时 每个变
  • Android C++/C 调试器中的错误,参数值不正确

    我最近在 Android Studio 中调试 C C 应用程序时遇到了一个非常奇怪的问题 我在用Android Studio 3 0 这是我的JNI Call JNIEXPORT jshortArray JNICALL Java net
  • 在 ruby​​ 中卸载动态声明的类

    我有一个使用 theClass class eval 和 Object const set className theClass 定义的类 有什么办法可以删除这个类的定义吗 在测试过程中 我需要加载同一类的不同版本 Object send
  • 为什么 Ruby 没有内置线程池?

    我有一个程序 它一次创建 10000 个线程 并同时运行 8 个线程 但是Ruby没有像Java那样内置ThreadPool 有充分的理由吗 可能是因为使用标准库 Queue 类很容易推出您自己的 q Queue new 3 times T
  • Rails 中的命名空间模型生成 NameError:未初始化的常量

    我有一个这样的文件夹结构 app models bar foo rb connection rb foo rb connection rb是一个用于连接到另一个数据库的 抽象类 所以 class Bar Connection lt Acti
  • 耙子的目的是什么?

    我知道 Rake 代表 Ruby Make 而且我知道 Make 是一个 Unix 构建实用程序 现在 我来自 Xcode 工作 将 iPhone 应用程序构建到 Ruby 所以我以前从未使用过 Make 我唯一使用 rake 的时候是在
  • 如何使 Visual Studio 仅在未处理的异常时中断?

    在我的其他机器上 当没有 try catch 来处理错误时 Visual Studio 总是会因错误而中断 但如果有 try catch 则它不会中断 由于某种原因 在这台笔记本电脑上 它不能以这种方式工作 一开始它根本没有中断 但后来我发
  • Rube.exe:Babun 中没有这样的文件或目录

    我正在尝试在 Babun 中安装 ruby gems 以便我可以安装 sass 和 compass 但不断收到错误 C RailsInstaller Ruby2 1 0 bin ruby exe No such file or direct
  • 使用 Ruby on Rails 的多个应用程序

    单个 Ruby on Rails 安装是否可以拥有多个共享通用模型的应用程序 例如 我想要一个前端应用程序以及后端管理控制台 但两者共享相同的模型 这类似于 Symfony 在 PHP 中的工作方式 提前致谢 拥有管理面板的最简单方法是使用
  • 如何在 Visual Studio 上关闭调试后访问在 docker 上运行的网站

    我在 net core 上构建了一个非常简单的 Web 应用程序和 Web api 并配置了 docker compose 以使它们能够通过同一网络正确通信 在 Visual Studio 上 当我在 Docker Compose 项目上运
  • 如何通过迁移向现有索引添加“唯一”约束

    我怎样才能添加unique true对 Rails 数据库中已有索引的约束 我尝试通过以下方式迁移 def change add index editabilities user id list id unique true end 但迁移
  • 无法使用 Visual Studio 2013 中的 F5 进行调试,模块窗口为空

    我正在尝试使用调试程序启动外部程序在 Visual Studio 2013 中 所有项目文件都是 NET 3 5 顺便说一句 自从更新到VS2013 大约两周 以来我就这样调试过 但今天突然停止工作了 当我运行该程序时 它会启动 但是调试
  • 前面的冒号:YAML 语法

    我目前在项目中使用 Sidekiq 并且有以下 YAML 配置文件 concurrency 5 pidfile tmp pids sidekiq pid logfile log sidekiq log staging concurrency
  • 表单提交按钮仅在重新加载后才有效

    我有一个构建表的索引页 我试图允许用户编辑表中的行 我试图以最基本的方式做到这一点 没有 javascript ajax 等 除非 Rails 提供了它 我的表在索引方法中显示良好 并且有一个表单作为表中的最后一行 可用于添加新行 新的形式
  • 如何停止 Heroku 服务器?

    我有一个托管在 heroku 上的临时服务器 我只想将其关闭 但不想破坏该应用程序 我该怎么做 我是否有类似 heroku stop 之类的命令 例如 heroku restart 来重新启动 OR 有没有办法让服务器在超过 750 小时免
  • 没有路线匹配... Rails Engine

    所以我不断收到错误 No route matches action gt create controller gt xaaron api keys 测试中抛出的是 it should not create an api key for th
  • RVM 无法通过 SSH 工作(作为一项功能)

    我刚刚在 Debian 6 服务器上安装了 RVM 一开始没有任何问题 但是 在一切设置完成后 我无法在终端中运行 RVM 我打字时收到的消息rvm use is RVM is not a function selecting rubies
  • 将 UTF-8 设置为 Heroku 中的默认字符串编码

    我需要在 Heroku 中将默认的 ruby 字符串编码更改为 UTF 8 由于某种原因它是 US ASCII heroku console Ruby console for myapp heroku com gt gt a encodin
  • Rails 中带有 text_field 的逗号分隔数组

    我有一些users可以有很多posts 并且每个帖子都可以有很多tags 我已经使用一个实现了拥有并属于许多帖子和标签之间的关系 创建新帖子时 用户可以使用逗号分隔的值列表对其进行标记 就像在 SO 上发布新问题时一样 如果任何标签尚不存在
  • Rails:统计用户未读通知的数量

    我目前有一个处理用户活动通知系统的活动模型 当发生某些操作 例如创建新文章 时 活动观察者会创建一个新活动 现在我想记录当前用户尚未看到的这些活动通知中有多少 类似于 facebook 上的通知宝石 每次用户单击通知链接时 数字应重置为 0

随机推荐