0

因此,我尝试使用 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
4

3 回答 3

0

我听一位同事谈论过类似的事情。这个(相当老的)答案说 usepry-rails而不是pry. 这在我们的案例中有效。

更多关于 pry-rails - https://github.com/rweng/pry-rails

于 2013-03-21T03:01:06.297 回答
0

我可能是错的,但试着告诉你在拯救什么。例如:

rescue Exception => e

让我知道这是否对你有用。

于 2013-03-21T02:18:52.423 回答
0

您始终可以通过全局变量访问最后一个异常$!。看看这是否适用于您的断点。可能是您在某处设置了另一个断点,并且实际上正在调试错误的行。

于 2013-03-21T02:04:41.887 回答