将Rails代码映射到SQL语句

时间:2009-10-11 23:02:11

标签: ruby-on-rails debugging

我正在阅读一个开源的Rails项目代码,我在开发日志中看到了我无法映射到Rails代码的SQL语句,即我不知道从哪里调用它。我试过ruby-debug但它似乎与日志文件输出和代码本身不同步,所以它没有太大用处。关于如何调试这个的任何建议?

有人问过哪个开源项目,它是Insoshi,这里是我试图映射到Rails代码的SQL语句的片段。

←[4;36;1mForum Columns (0.0ms)←[0m   ←[0;1mSHOW FIELDS FROM `forums`←[0m
←[4;35;1mSQL (15.0ms)←[0m   ←[0mSELECT count(*) AS count_all FROM `forums` ←[0m
←[4;36;1mForum Load (0.0ms)←[0m   ←[0;1mSELECT * FROM `forums` LIMIT 1←[0m

除非您已经知道代码,否则我认为以上信息并不有用,但无论如何它都在这里。我没有显示任何Rails代码,因为我不知道从哪里调用它。这是一个通用的调试问题,我将通过代码完成,因为我正在弄清楚它是如何工作的。

3 个答案:

答案 0 :(得分:3)

试试query-reviewer。它提供了一个浏览器跟踪sql查询和相关的应用程序回溯。

答案 1 :(得分:2)

我在开发者模式下使用New Relic的插件来追踪查询的来源。只需安装插件并浏览到/ newrelic(在开发环境中)它就会显示最后10个请求,你可以从tehre向下钻取。

答案 2 :(得分:2)

rails-footnotes插件非常便于开发。它将告诉您用于生成页面的查询以及提供的文件列表。顺便说一句,在浏览器中单击时,可以调整哪个在您喜欢的编辑器中打开。