使用Rails调试器识别实例变量的来源



这个问题与这里未解决的问题有关。

是否有可能使用Rails调试器或类似的东西来识别和跟踪实例变量(或其他变量)的来源?

我有@venue从我的Venue show动作传递到我的Venue show视图,但我似乎在我的应用程序的其他地方有@venue的流氓或重复版本。当我在我的Venue控制器show动作中注释出@venue = Venue.find(params[:id])时,show视图仍然有效,而它应该抛出一个错误。我需要跟踪这个副本

看看Better Errors。有一篇详细报道。只需安装

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
end

你需要binding_of_caller gem来实现额外的功能

对于堆栈跟踪的任何一行,您都可以在堆栈的任何位置查看本地变量和实例变量。它还有一个交互式提示符,您可以在堆栈跟踪中的任何位置使用它。我已经用了几个月了,它真的帮了我大忙。

您将很容易地能够跟踪@venue及其副本发生了什么。

最新更新