Ruby调试器不会跨越

时间:2013-11-23 20:16:47

标签: ruby rspec ruby-debug

在rspec中使用ruby-debug(通过rspec -d),调试器在执行“next”时拒绝跳过语句

似乎总是进入声明

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语句

我不知道是什么原因引起了这个想法?

1 个答案:

答案 0 :(得分:6)

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

如果您使用ruby 1.9.x,请切换到debugger,如果使用ruby 2.x,则切换到byebug,您的问题应该消失。如果您切换到byebug,请不要使用-d标记,它只会影响效果并且不会带来任何好处。