这是一个普遍的问题,我已多次击中。我正在我的模型中编写验证器或者其他东西然后我在rspec和我的一个条件中运行一些测试:
validate :some_validator
def some_validator
if some_attribute.count == 1 <-- Here!
run_this_method
end
end
评估为真,我不明白为什么。通常我能够回溯代码并弄清楚原因,但即便如此,我通常也会浪费时间追踪一两件事。
那么有没有办法让轨道停下来告诉我什么线路正在进行?
答案 0 :(得分:1)
Pry是一个很好的Ruby / Rails调试器,用于在程序执行和检查变量时停止它。
binding.pry
添加了断点,您可以使用终端中的代码。
def some_validator
binding.pry
if some_attribute.count == 1 <-- Here!
run_this_method
end
end
以下是Pry的一些有用的学习资源: