所以我正在尝试使用pry在我的Rails应用程序中调试method_missing并得到一个:
[5] pry(#<VoyageArrival>)> puts e
NameError: undefined local variable or method `e' for #<VoyageArrival:0x007fa3f30d13c8>
这是我的代码
21: define_method(save_method) do
22: if "@#{method_name}".present?
23: begin
24: self.send("#{attribute}=", Time.parse(instance_variable_get("@#{method_name}")))
25: rescue => e
=> 26: binding.pry
答案 0 :(得分:0)
您始终可以通过全局变量$!
访问最后一个异常。看看它是否适用于您的断点。可能是您在某处设置了另一个断点,并且实际上正在调试错误的行。
答案 1 :(得分:0)
我可能错了,但试着说出你在拯救什么。例如:
rescue Exception => e
如果这对您有用,请告诉我。
答案 2 :(得分:0)
我听过一位同事谈论类似的事情。 This(相当陈旧)回答说使用pry-rails
代替pry
。这在我们的案例中起作用。
有关pry-rails的更多信息 - https://github.com/rweng/pry-rails