在Rails中,如何在满足条件时进入调试器

时间:2011-08-08 09:00:36

标签: ruby-on-rails debugging

假设在程序运行时多次创建,更改和保存foo

通常foo.bar == "sensible value",但偶尔会foo.bar == "crazy value"

我是否可以通过某种方式运行rails server --debugger,并将其放入调试控制台foo.bar == "crazy value"处?

1 个答案:

答案 0 :(得分:2)

你试过吗

if foo.bar == "crazy value"
  require 'ruby-debug'; debugger
end

这应该放置一个断点,当你正常运行bundle exec rails server时触发该断点,并且只有当foo.bar具有你(不)想要的值时才会触发。

如果您使用的是bundler,那么Ruby 1.9确保您拥有

gem 'ruby-debug19', :require => 'ruby-debug'

在你的Gemfile中(在开发和测试组中)。