Ruby 调试器不会越过

标签 ruby rspec ruby-debug

在 rspec 中使用 ruby​​-debug(通过 rspec -d),当我执行“下一步”时,调试器拒绝跳过语句

似乎总是步入语句

debugger
params[:appointment][:user_id] = 
  User.where(email: appointment_params[:user_id]).pluck(:id).first if appointment_params[:user_id].to_i == 0
params[:appointment][:country_id] = 
  Country.where(name: appointment_params[:country_id]).pluck(:id).first if appointment_params[:country_id].to_i == 0

@appointment = Appointment.new(appointment_params)

当我按下“n”并按下回车键时,它会进入 User.where 语句

我不知道是什么原因造成的,有什么想法吗?

最佳答案

您很可能不应该使用 ruby-debug,应该升级到更新的调试器。

切换到debugger如果您使用的是 ruby​​ 1.9.x 或 byebug如果使用 ruby​​ 2.x,你的问题应该消失了。如果您切换到 byebug,请不要使用 -d 标志,它只会影响性能而不会带来任何好处。

关于Ruby 调试器不会越过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20167353/

相关文章:

ruby-on-rails - Ruby/Rails 调试 : Break when a value of an object/variable changes

ruby-on-rails - 语法错误,运行自定义 rake 任务时意外的 tLABEL

ruby-on-rails - 在 ruby rake 数据库 :migrate show the password failure

html - 来自 Controller 的 Flash 消息 : its html-code is displayed as text

ruby-on-rails - 迁移数据 - 不仅仅是模式,Rails

ruby-on-rails - 如何分析我的 rspec 测试以找到最大的内存消耗?

ruby-on-rails - rspec - PG::UnableToSend:server 意外关闭连接这可能意味着服务器异常终止

ruby-on-rails - 为什么在 rspec 测试中创建并存储在数据库中的项目,但应用程序看不到它存储

Ruby 调试输出 - 轻松打开/关闭

ruby - 无法在 Mac OS X 10.7.3 Lion 上的 ruby​​ 1.8.7 中加载 ruby​​-debug