打印应用内部与完整堆栈跟踪?

时间:2012-02-01 18:28:44

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我试图在每个页面请求上可视化/理解我的Rails应用程序层次结构。我认为也许puts caller可以做到这一点,但是我不想通过Rails框架本身进行高度冗长的跟踪。

我只是主要想在我自己的Rails应用程序中使用依赖脚本,而我基本上可以控制它。我可以说(不准确),当我发出请求时,我会想要在控制台中打印出被调用的根脚本,然后将所有链接打印到最后一个视图erb / haml,等

如果不在每个文件的顶部和末尾的每个文件中放置一个puts语句,我怎样才能完成这样的事情呢?

如果我在每个Rails应用程序文件中插入一个puts "-> #{File.expand_path(File.dirname(__FILE__))}/#{File.basename(__FILE__)}",这可以或多或少地完成我想要达到的目标,但是这将是“Show full path name of the ruby file when it get loaded”的内容。在不修改各种文件的情况下更恰当地完成这个技巧;保持干燥?

1 个答案:

答案 0 :(得分:0)

您可以通过检查文件名来过滤Kernel#caller的输出。如果它在您的项目目录中,则打印它。否则,请忽略。